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

C 주어진 숫자를 찾는 프로그램이 강한지 아닌지

<시간/>

강한 숫자는 숫자의 계승의 합이 숫자 자체와 같은 숫자입니다.

예시

  • 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는 강한 숫자가 아닙니다