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

เลขนีออน (Neon Number) ใน C++

โจทย์

เลขนีออน (Neon number) คือตัวเลขที่ผลรวมของหลักของกำลังสองของตัวเลขเท่ากับตัวเลขนั้นเอง มาดูตัวอย่างกัน

n = 9

square = 81

sum of digits of square = 8 + 1 = 9

ดังนั้น ตัวเลข 9 คือเลขนีออน

เราต้องตรวจสอบว่าตัวเลขที่กำหนดเป็นเลขนีออนหรือไม่ ถ้าเป็นเลขนีออนให้พิมพ์ Yes ไม่ใช่ให้พิมพ์ No

อัลกอริธึม

  • กำหนดตัวเลข n
  • หากำลังสองของตัวเลข
  • หาผลรวมของหลักของกำลังสอง
  • ถ้าผลรวมของหลักของกำลังสองเท่ากับตัวเลขที่กำหนด ให้ผลลัพธ์ true มิฉะนั้น false

การนำไปใช้งาน

ต่อไปนี้เป็นการนำไปใช้งานของอัลกอริธึมข้างต้นใน 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