第39讲项目2 ——n=a!+b!+c!
2016-03-20 09:44
246 查看
任务及要求
/*
*Copyright (c)2016,csdn学院
*All rights reserved.
*文件名称:lzz.c
*作 者:兰泽泽
*完成日期:2016年3月20日
*版 本 号:v1.0
*问题描述:求满足条件n=a!+b!+c!的所有三位数n并输出,其中a,b,c分别为n的百、十、个位数。
*程序输入:
*程序输出:
*/
#include <stdio.h>
int main()
{
int n,a,b,c,i,sum,as,bs,cs;
for(n=1;n<1000;n++)
{
c=n%10;//个位数
a=n/100;//百位数
b=(n/10)%10;//十位数
for(i=1,cs=1;i<c+1;i++)//c!
{
cs*=i;
}
for(i=1,bs=1;i<b+1;i++)//b!
{
bs*=i;
}
for(i=1,as=1;i<a+1;i++)//a!
{
as*=i;
}
sum=as+bs+cs;//a!+b!+c!
if(sum==n)
{
printf("%d = %d! + %d! + %d!",n,a,b,c);
}
}
return 0;
}
运行结果
/*
*Copyright (c)2016,csdn学院
*All rights reserved.
*文件名称:lzz.c
*作 者:兰泽泽
*完成日期:2016年3月20日
*版 本 号:v1.0
*问题描述:求满足条件n=a!+b!+c!的所有三位数n并输出,其中a,b,c分别为n的百、十、个位数。
*程序输入:
*程序输出:
*/
#include <stdio.h>
int main()
{
int n,a,b,c,i,sum,as,bs,cs;
for(n=1;n<1000;n++)
{
c=n%10;//个位数
a=n/100;//百位数
b=(n/10)%10;//十位数
for(i=1,cs=1;i<c+1;i++)//c!
{
cs*=i;
}
for(i=1,bs=1;i<b+1;i++)//b!
{
bs*=i;
}
for(i=1,as=1;i<a+1;i++)//a!
{
as*=i;
}
sum=as+bs+cs;//a!+b!+c!
if(sum==n)
{
printf("%d = %d! + %d! + %d!",n,a,b,c);
}
}
return 0;
}
运行结果
相关文章推荐
- 天声人語 20160320 シジュウカラがつづる「文」
- Dialog背景的设置
- 【HDU5646 BestCoder Round 76 (div1)A】【贪心】DZY Loves Partition n个数拆分k个最大乘积
- Display Port 和 eDisplay Port
- docker registry v2使用配置
- 关于浏览器兼容性
- 串口通信DMA中断
- 深入理解异步消息处理机制Message,handler,MessageQueue,looper
- linux命令介绍(4)
- PB]-子数据窗口
- Python-面向对象
- 第57课 spark sql on hive实战
- 序
- DES/des3 加密程序
- 2016年3月16日作业含论文架构
- Git reset命令
- C++类的封装与类库的组成
- 第三周学习进度
- Android应用的全透明效果--Activity及Dialog的全透明
- [LeetCode 330] Patching array