项目3:特殊三位数
请输出满足条件n=a!+b!+c!的所有三位数n,其中,a、b、c分别是n的百、十、个位数。要求用自定义函数实现求阶乘。
<pre name="code" class="cpp">#include<iostream>
using namespace std;
int fac(int n)
{
int i, j=1;
for(i=1;i<=n;i++)
j=j*i;
return j;
}
int main()
{
int a,b,c,n,sum;
for(a=1;a<=9;a++)
for(b=1;b<=9;b++)
for(c=1;c<=9;c++)
{
n=a*100+b*10+c;
sum=fac(a)+fac(b)+fac(c);
if(sum==n)
cout<<"特殊三位数为"<<n;
}
return 0;
}
最大公约数和最小公倍数
#include<iostream>
using namespace std;
int fun(int m,int n,int &gcd)
{
int M=m,N=n,t;
if(m<n)
{
t=m;
m=n;
n=t;
}
gcd=n;
while(m%n)
{
gcd=m%n;
m=n;
n=gcd;
}
return (m*n/gcd);
}
void main()
{
int a,b,c;
cout<<"请输入两个整数"<<endl;
cin>>a>>b;
cout<<"它们的最小公倍数为"<<fun(a,b,c)<<" ";
cout<<"它们的最大公约数为"<<c<<endl;
}