解题思路:
注意事项:
参考代码:
#include <iostream> #include <cmath> using namespace std; int main(){ double factorial(int a); int weishu(int a); int num =1; for(int i=1;i<=100000;i++){ int s=0,p=10,q=10; for(int j=0;j<weishu(i);j++){ //求各个位数的阶乘和 s = s + factorial(fmod(i/pow(p,j),10)); } if(s==i){ cout<<num<<' '<<s<<' '; num++; } } } double factorial(int a){ //计算一个整数的阶乘 double s=1; for(int i=1;i<=a;i++){ s *= i; } return s; } int weishu(int a){ //计算一个整数是几位数 int i=1,times=0; while(a/i!=0){ i *= 10; times++; } return times; }
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:790 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1114 |
printf基础练习2 (C语言代码)浏览:796 |
C语言程序设计教程(第三版)课后习题5.6 (C语言代码)浏览:580 |
Minesweeper (C语言描述,蓝桥杯)浏览:1176 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:582 |
简单的a+b (C语言代码)浏览:529 |
字符串的输入输出处理 (C语言代码)浏览:1085 |
一元一次方程 (C语言代码)浏览:4245 |
C语言程序设计教程(第三版)课后习题12.1 (C语言代码)浏览:689 |