네온 숫자는 숫자의 제곱의 자릿수의 합이 숫자와 같은 숫자입니다. 예를 들어 보겠습니다.
n =9
정사각형 =81
제곱의 자릿수의 합 =8 + 1 =9
따라서 숫자 9는 네온 숫자입니다.
주어진 숫자가 네온 숫자인지 아닌지 확인해야 합니다. 주어진 숫자가 네온 숫자인 경우 Yes를 인쇄하고 그렇지 않으면 No를 인쇄합니다.
알고리즘
- 숫자 n을 초기화합니다.
- 숫자의 제곱을 구하세요.
- 사각형 자릿수의 합 구하기
- 정사각형의 자릿수의 합이 주어진 숫자와 같으면 결과는 참, 그렇지 않으면 거짓입니다.
구현
다음은 위의 알고리즘을 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