ตัวเลขนีออนคือตัวเลขที่ผลรวมของหลักของกำลังสองของตัวเลขนั้นเท่ากับตัวเลข มาดูตัวอย่างกัน
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