Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมหาเลขสตาร์ในภาษา C++


ในปัญหานี้ เราได้รับตัวเลข n งานของเราคือสร้าง โปรแกรมเพื่อค้นหาหมายเลขดาวใน C++ .

หมายเลขดาว เป็นตัวเลขพิเศษที่แทนเลขฐานสิบหกที่อยู่ตรงกลาง (ดาวหกแฉก)

ตัวเลขเริ่มต้นบางตัว ได้แก่ 1, 13, 37, 73, 121

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

อินพุต

n = 5

ผลลัพธ์

121

แนวทางการแก้ปัญหา

เพื่อหา n th เลขดาวเราจะใช้สูตร

มาดูสูตรทั่วไปของเลขดาวกัน

n = 2 -> 13 = 12 + 1 = 6(2) + 1
n = 3 -> 37 = 36 + 1 = 6(6) + 1
n = 4 -> 73 = 72 + 1 = 6(12) + 1
n = 5 -> 121 = 120 + 1 = 6(20) + 1

สำหรับเงื่อนไขข้างต้น เราสามารถหาเทอมที่ n ได้

เทอมที่ N =6(n * (n-1)) + 1.

กำลังตรวจสอบ

สำหรับ n =5, 6( 5 * 4) + 1 =121

โปรแกรมเพื่ออธิบายการทำงานของโซลูชันของเรา

ตัวอย่าง

#include <iostream>
using namespace std;
int findStarNo(int n){
   int starNo = ( 6*(n*(n - 1)) + 1 );
   return starNo;
}
int main(){
   int n = 4;
   cout<<"The star number is "<<findStarNo(n);
   return 0;
}

ผลลัพธ์

The star number is 73