Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 네온 숫자

<시간/>

네온 숫자는 숫자의 제곱의 자릿수의 합이 숫자와 같은 숫자입니다. 예를 들어 보겠습니다.

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