ในปัญหานี้ เราได้รับตัวเลข 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