ตัวเลขนีออนคือตัวเลขที่ผลรวมของหลักของกำลังสองของตัวเลขนั้นเท่ากับตัวเลข มาดูตัวอย่างกัน
n =9
สี่เหลี่ยม =81
ผลรวมของหลักสี่เหลี่ยม =8 + 1 =9
ดังนั้น เลข 9 จึงเป็นเลขนีออน
เราต้องตรวจสอบว่าตัวเลขที่กำหนดเป็นตัวเลขนีออนหรือไม่ หากตัวเลขที่กำหนดเป็นตัวเลขนีออน ให้พิมพ์ Yes อย่างอื่นพิมพ์ No.
อัลกอริทึม
- เริ่มต้นหมายเลข n.
- หากำลังสองของตัวเลข
- หาผลรวมของตัวเลขของสี่เหลี่ยมจัตุรัส
- หากผลรวมของตัวเลขในสี่เหลี่ยมจัตุรัสเท่ากับจำนวนที่กำหนด ผลลัพธ์จะเป็น true มิฉะนั้นจะเป็นเท็จ
การนำไปใช้
ต่อไปนี้เป็นการนำอัลกอริธึมข้างต้นไปใช้ใน C++
#include <bits/stdc++.h> using namespace std; int isNeonNumber(int x) { int square = x * x; int digitsSum = 0; while (square != 0) { digitsSum += (square % 10); square = square / 10; } return digitsSum == x; } int main(void) { string result; result = isNeonNumber(1) ? "Yes" : "No"; cout << 1 << "->" << result << endl; result = isNeonNumber(3) ? "Yes" : "No"; cout << 3 << "->" << result << endl; result = isNeonNumber(9) ? "Yes" : "No"; cout << 9 << "->" << result << endl; }
ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
1->Yes 3->No 9->Yes