<span style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15px; line-height: 35px;">【项目1-完数】</span><pre name="code" class="cpp">/*
* Copyright (c) 2016, 优快云学院
* All rights reserved.
* 文件名称:【项目2 - n=a!+b!+c!】.cpp
* 作 者:张易安
* 完成日期:2016年 8 月 29 日
* 版 本 号:v1.0
*
* 问题描述:求满足条件n=a!+b!+c!的所有三位数n并输出,其中a,b,c分别为n的百、十、个位数。
*/
#include<stdio.h>
int main()
{
int n,a,b,c,m,D,i;
for(n=100;n<1000;++n)
{
a=n/100;
b=(n/10)%10;
c=n%10;
D=0;
for(m=1,i=1;m<=a;++m)
i*=m;D+=i;
for(m=1,i=1;m<=b;++m)
i*=m;D+=i;
for(m=1,i=1;m<=c;++m)
i*=m;D+=i;
if(n==D)
printf("%d",n);
}
return 0;
}
运行结果
【项目2 - n=a!+b!+c!】
/*
* Copyright (c) 2016, 优快云学院
* All rights reserved.
* 文件名称:【项目2 - n=a!+b!+c!】.cpp
* 作 者:张易安
* 完成日期:2016年 8 月 29 日
* 版 本 号:v1.0
*
* 问题描述:求满足条件n=a!+b!+c!的所有三位数n并输出,其中a,b,c分别为n的百、十、个位数。
*/
#include<stdio.h>
int main()
{
int n,a,b,c,m,D,i;
for(n=100;n<1000;++n)
{
a=n/100;
b=(n/10)%10;
c=n%10;
D=0;
for(m=1,i=1;m<=a;++m)
i*=m;D+=i;
for(m=1,i=1;m<=b;++m)
i*=m;D+=i;
for(m=1,i=1;m<=c;++m)
i*=m;D+=i;
if(n==D)
printf("%d",n);
}
return 0;
}
运行结果