一、最大公约数和最小公倍数
#include<iostream.h>
int x;
int fun(int m,int n,int a)
{
int y;
y=m%n;
while(y)
{
m=n;
n=y;
y=m%n;
}
x=a/n;
return n;
}
void main()
{
int m,n,k;
cout<<"请输入两个整数:";
cin>>m>>n;
k=fun(m,n,m*n);
cout<<"最大公约数是"<<k<<",最小公倍数是"<<x<<endl;
}
二、特殊的三位数
#include<iostream>
using namespace std;
int recursion(int n)
{
if(n==0) return 0;
else if(n==1) return 1;
else return (n*recursion(n-1));
}
int fun(int n)
{
int sum=0,i=0,a[100],m=n;
do
{
a[i]=n%10;
n/=10;
i++;
}
while(n!=0);
for(int j=0;j<i;j++)
{
sum=sum+recursion(a[j]);
}
if(sum==m) return 1;
else return 0;
}
int main()
{
int i;
for(i=100;i<1000;i++)
{
if(fun(i)) cout<<i;
}
return 0;
}