이 튜토리얼에서는 주어진 숫자가 카프레카르 숫자인지 알아내는 프로그램을 작성할 것입니다. 여부.
번호를 가져 가라. 그 수의 제곱을 구하십시오. 숫자를 두 부분으로 나눕니다. 두 부분의 합이 원래 숫자와 같으면 그 숫자를 카프레카르 숫자라고 합니다. .
문제를 해결하는 단계를 살펴보겠습니다.
- n을 초기화합니다.
- n의 제곱을 구하세요.
- n의 제곱에서 자릿수를 찾아 변수에 저장합니다.
- n의 제곱을 숫자가 셀 때까지 10, 100, 1000 등으로 나눕니다.
- 해당 부분의 합이 n인지 여부를 확인합니다.
- 반환 참 같으면 else False .
예시
코드를 봅시다.
#include<bits/stdc++.h> using namespace std; bool isKaprekarNumber(int n) { if (n == 1) { return true; } int nSquare = n * n, digitsCount = 0; while (nSquare) { digitsCount++; nSquare /= 10; } nSquare = n * n; for (int i = 1; i < digitsCount; i++) { int parts = pow(10, i); if (parts == n) { continue; } int sum = nSquare / parts + nSquare % parts; if (sum == n) { return true; } } return false; } int main() { int n = 25; string result = isKaprekarNumber(n) ? "True" : "False"; cout << result << endl; return 0; }
출력
위의 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.
False
결론
튜토리얼에서 질문이 있는 경우 댓글 섹션에 언급하세요.