编写一个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