解题思路:
注意事项:
参考代码:
#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语言代码)浏览:663 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:659 |
【偶数求和】 (C语言代码)浏览:569 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:694 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:650 |
printf基础练习 (C语言代码)浏览:1832 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:623 |
小O的乘积 (C++代码)浏览:530 |
剔除相关数 (C语言代码)浏览:1098 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:747 |