c中的强数

当各个数字的阶乘之和等于该数字时,数字可以说是一个强数。
例如,145是一个强数。
让我们通过一个例子来理解。

  • 程序检查数字是否强。
#include < stdio.h> int main() { int n; int sum=0; printf("Enter a number"); scanf("%d", & n); int k=n; int r; while(k!=0) { r=k%10; int f=fact(r); k=k/10; sum=sum+f; } if(sum==n) { printf("\nNumber is a strong"); } else { printf("\nNumber is not a strong"); } return 0; } int fact(int r) { int mul=1; for(int i=1; i< =r; i++) { mul=mul*i; } return mul; }

在上面的代码中,从用户检索输入数据,然后检查数据是否为强数。
输出量
c中的强数

文章图片
  • 程序打印从1到n的强数。
#include< stdio.h> int main() { int fact=1, sum=0; int n, r; printf("Enter the 'n' number"); scanf("%d", & n); printf("\n Strong numbers are :"); for(int i=1; i< =n; i++) { int k=i; while(k!=0) { r=k%10; fact=factorial(r); k=k/10; sum=sum+fact; } if(sum==i){ printf("%d, ", i); } sum=0; }return 0; } int factorial(int f) { int mul=1; for(int i=1; i< =f; i++) { mul=mul*i; } return mul; }

输出量
c中的强数

文章图片
  • 程序查找给定范围内的强数。
#include< stdio.h> int main() { int fact=1, sum=0; int n1, n2, r; printf("Enter the first number"); scanf("%d", & n1); printf("\nEnter the last number"); scanf("%d", & n2); printf("\nStrong numbers are :"); for(int i=n1; i< =n2; i++) { int k=i; while(k!=0) { r=k%10; fact=factorial(r); k=k/10; sum=sum+fact; } if(sum==i){ printf("%d, ", i); } sum=0; } return 0; } int factorial(int f) { int mul=1; for(int i=1; i< =f; i++) { mul=mul*i; } return mul; }

【c中的强数】输出:
c中的强数

文章图片

    推荐阅读