北航14年上机题
2016-07-10 20:24
225 查看
4年上机题
第一题,阶乘数。输入一个正整数,输出时,先输出这个数本身,跟着一个逗号,再输出这个数的各位数字的阶乘和,等号,阶乘和的计算结果,并判断阶乘和是否等于原数,如果相等输出Yes,否则输出No。题目说明输入的正整数以及其各位阶乘和都不会超出int型的表示范围。
输入样例1:
145
输出样例1:
145,1!+4!+5!=145
Yes
输入样例2:
1400
输出样例2:
1400,1!+4!+0!+0!=27
No
第一题,阶乘数。输入一个正整数,输出时,先输出这个数本身,跟着一个逗号,再输出这个数的各位数字的阶乘和,等号,阶乘和的计算结果,并判断阶乘和是否等于原数,如果相等输出Yes,否则输出No。题目说明输入的正整数以及其各位阶乘和都不会超出int型的表示范围。
输入样例1:
145
输出样例1:
145,1!+4!+5!=145
Yes
输入样例2:
1400
输出样例2:
1400,1!+4!+0!+0!=27
No
#include <stdio.h> int f(int n) { int ans=1; for(int i=1;i<=n;i++) { ans*=i; } return ans; } int ff[10]; int main() { int n; int i; while(scanf("%d",&n)!=EOF) { for(i=0;i<10;i++) { ff[i]=f(i); } printf("%d,",n); int sum=0; int num[1000]; int temp=n; int i=0; while(temp>0) { sum+=ff[temp%10]; num[i++]=temp%10; temp=temp/10; } int j; for(j=i-1;j>0;j--) { printf("%d!+",num[j]); } printf("%d!=%d\n",num[0],sum); if(sum==n) printf("Yes\n"); else printf("No\n"); } return 0; }
相关文章推荐
- 第一篇博客
- LeetCode:链表逆置
- 【HDU】5458 Stability(2015 ACM/ICPC Shenyang Online)
- ZERO
- 无线网覆盖问题 NYOJ 199
- 并查集的学习
- Rails的事务和锁
- 在notepad++ 汉化
- 文章标题
- 从指定范围获取指定个数的正序排列的不重复随机数
- 文章标题
- 元数据(metadata)
- linux关于readlink函数获取运行路径的小程序
- The Skyline Problem
- 数据结构之栈
- 【闲谈】应聘时要问HR的7个问题
- Hdu 5323 Solve this interesting problem(搜索)
- HDU 1054 Strategic Game (二分图最小点覆盖)
- 在类定义时指定泛型的上限
- NYOJ 62笨小熊问题