[C언어] 카프리카 수 구하는 방법

카프리카 수란?

예를 들어 네 자리 숫자 2025의 가운데를 갈라보면 20 25의 두개의 숫자가 생긴다. 이 두개의 숫자를 더하면 45이고, 45를 제곱하면 2025가 되어 원상태로 되돌아간다. 이러한 성질을 갖는 수를 Kaprika수 라고 한다.

81은 가운데를 잘라보면 8 1로 갈라지고, 더하면 9가 되고 다시 제곱하면 81로 돌아간다. 그러므로 81은 두 자리 숫자의 Kaprika수가 되는 것이다.

 

 

위의 공식을 적용했을때 4자리수의 카프리카수는 총3개이며, 아래는 카프리카 수를 C언어로 구현한 것입니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
 #include <stdio.h>
 
int main(void){
    for (int number = 1000; number < 10000; number++) {
        int division = number / 100;
        int percent = number % 100;
        int sum = division + percent;
 
        if (sum * sum == number) {
            printf("Kaprika 수 : %d", number);
        }
    }
}
cs

댓글

Designed by JB FACTORY