解题思路:
注意事项:
参考代码:
#include<stdio.h>
int main()
{
int long i = 1, t=1,sum=0;
int s = 1;
int a;
int k = 0;
int b[4];
while (i<=100000)
{
a = t % 10;//取余
for (int j = 1; j <= a; j++)
{
s = s * j;//余数的阶乘
}
sum = sum + s;//累加余数的阶乘
s = 1;//重置为1 为了不影响 下次余数的计算
t = t / 10;
if (t == 0)//当t=0时表明此数各位数的求余已完成 进入判断
{
if (sum == i)//相等即为所求数
{
b[k] = i;
k++;
}
i++;
t = i;
sum = 0;//不影响下个数的余数累加
}
}
printf("%d %d %d %d", b[0], b[2], b[1], b[3]);//此处为投机取巧
return 0;
}
0.0分
3 人评分
矩阵转置 (C语言代码)浏览:1525 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:622 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:479 |
【计算两点间的距离】 (C语言代码)浏览:883 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1520 |
人见人爱A+B (C语言代码)浏览:628 |
WU-小九九 (C++代码)浏览:1684 |
【金明的预算方案】 (C++代码)浏览:843 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:585 |
【计算直线的交点数】 (C语言代码)浏览:1450 |