编写一个C程序来查找给定的数字是否强
一个强数是一个数字,其中的阶乘之和等于数字本身。
示例
123 != 1!+2!+3! = 1 + 2 + 6 = 9
此处的123不是强数,因为阶乘之和不等于数字本身。
145! = 1!+4!+5! = 1 + 24 + 120 = 145
在这里,145是一个强数,因为阶乘的总和等于数字本身。
我们用来确定给定数字是否强的逻辑如下-
while(n){
i = 1,fact = 1;
rem = n % 10;
while(i <= rem){
fact = fact * i;
i++;
}
sum = sum + fact;
n = n / 10;
}
if(sum == temp)
printf("%d is a strong number\n",temp);
else
printf("%d is not a strong number\n",temp);示例
以下是C程序,以查找给定的数字是否强-
#include<stdio.h>
int main(){
int n,i;
int fact,rem;
printf("\nEnter a number : ");
scanf("%d",&n);
printf("\n");
int sum = 0;
int temp = n;
while(n){
i = 1,fact = 1;
rem = n % 10;
while(i <= rem){
fact = fact * i;
i++;
}
sum = sum + fact;
n = n / 10;
}
if(sum == temp)
printf("%d is a strong number\n",temp);
else
printf("%d is not a strong number\n",temp);
return 0;
}输出结果执行以上程序后,将产生以下结果-
Run 1: Enter a number : 145 145 is a strong number Run 2: Enter a number : 25 25 is not a strong number