解题思路:
注意事项:
参考代码:
#include<stdio.h>
int jc(int n);
void main()
{
int i,s,S,n=1,N[10][10000]={0};
i=0;
while(n<=100000)
{
S=n;
s=0;
while(n/10>=1)
{
s=s+jc(n%10);
n=n/10;
}
s=s+jc(n);
if(S==s)
{
N[n][i]=S;//n正好是第一个数字
i=i+1;
}
n=S+1;
}
i=0;
n=0;
while(n<=9&&i<=9999)
{
if(N[n][i]!=0) printf("%d ",N[n][i]);//先变i,得第一位数n相同情况下的解
i=i+1;
if(i==10000)//i到10000就升n重置i
{
i=0;
n=n+1;
}
}
}
int jc(int n)//求阶乘函数
{
int N=1;
while(n>=1)
{
N=N*n;
n=n-1;
}
return N;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:472 |
C语言考试练习题_排列 (C语言代码)浏览:719 |
母牛的故事 (C语言代码)浏览:926 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:515 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:470 |
The 3n + 1 problem (C语言代码)浏览:552 |
IP判断 (C语言描述,蓝桥杯)浏览:1095 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:560 |
C语言程序设计教程(第三版)课后习题10.2 (C语言代码)浏览:1460 |
数组输出 (C语言代码)浏览:703 |