강한 숫자는 숫자의 계승의 합이 숫자 자체와 같은 숫자입니다.
예시
- 123!=1!+2!+3!
=1+2+6 =9
여기서 123은 자릿수의 계승의 합이 숫자 자체와 같지 않기 때문에 강력한 숫자가 아닙니다.
- 145!=1!+4!+5!
=1+24+120
=145
여기서 145는 자릿수의 계승의 합이 숫자 자체와 같기 때문에 강력한 숫자입니다.
주어진 숫자가 강한지 여부를 찾는 데 사용하는 논리 다음과 같습니다 -
while(n){ 나는 =1,사실 =1; 렘 =n% 10; while(i <=rem){ 사실 =사실 * i; 나는 ++; } 합계 =합계 + 사실; n =n / 10;}if(sum ==temp) printf("%d는 강한 숫자입니다\n",temp);else printf("%d는 강한 숫자가 아닙니다\n",temp);사전>프로그램
다음은 주어진 숫자가 강한지 아닌지를 알아보는 C 프로그램입니다 -
#includeint main(){ int n,i; int 사실, 렘; printf("\n숫자를 입력하세요 :"); scanf("%d",&n); printf("\n"); 정수 합계 =0; 정수 온도 =n; 동안(n){ 나는 =1, 사실 =1; 렘 =n% 10; while(i <=rem){ 사실 =사실 * i; 나는 ++; } 합계 =합계 + 사실; n =n / 10; } if(sum ==temp) printf("%d는 강한 숫자입니다\n",temp); else printf("%d는 강한 숫자가 아닙니다\n",temp); 반환 0;} 출력
위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -
실행 1:숫자를 입력하세요:145145는 강한 숫자입니다런 2:숫자를 입력하세요:2525는 강한 숫자가 아닙니다