虽然理解但要自己写却写不出来的函数
1.最大公约数 hcf 函数与最小公倍数lcd函数:
int hcf(int m,int n)
{
int t,r;
if(n>m)
{
t=n;n=m;m=t;
}
while ((r=m%n)!=0)
{
m=n;
n=r;
}
return (n);
}
int lcd(int m,int n,int h)
{
return (m*n/h);
}
复制代码
2.亲密数对与完数之和:
{
int facsum(int); /*函数原型*/
int m,n,s=0;
cout<<"亲密数对:\n";
for (m=2;m<=500;m++)
{
n=facsum(m);
if((m==facsum(n))&&(m<=n)) cout<<"["<<m<<","<<n<<"]"<<endl; /*按要求输出亲密数对*/
if(n==m) s=s+m;
}
cout<<"完数之和:"<<s<<"\n";
}
int facsum(int m1) /*函数定义 facsum,求 m 的所有因子之和*/
{
int f=1,k;
for(k=2;k<=m1/2;k++)
if(m1%k==0)
f=f+k;
return f;
}
复制代码
艮难个思维几时先可以锻炼出来啊