两个数的和是667
分太低了
你的程序实在让人看着害怕:
#include
#include
int GetMinMultiple(int m,int n);
int GetMaxDivisor(int m,int n,int c);
void main()
{
int base=667;
int cMul=1;
int cDiv=1;
for(int i=1;i<=base;i++)
{
cMul=GetMinMultiple(i,base-i);//得到最大公约数
cDiv=GetMaxDivisor(i,base-i,cMul);//有m,n,cMul得到最小公倍数
if((cDiv/cMul)==12...全部
分太低了
你的程序实在让人看着害怕:
#include
#include
int GetMinMultiple(int m,int n);
int GetMaxDivisor(int m,int n,int c);
void main()
{
int base=667;
int cMul=1;
int cDiv=1;
for(int i=1;i<=base;i++)
{
cMul=GetMinMultiple(i,base-i);//得到最大公约数
cDiv=GetMaxDivisor(i,base-i,cMul);//有m,n,cMul得到最小公倍数
if((cDiv/cMul)==120) break;//如果满足120倍条件结束
}
printf("Num1:%d,Num2:%d,cMul:%d,cDiv:%d",i,base-i,cMul,cDiv);
return ;
}
//求最大公约数
int GetMinMultiple(int m,int n)
{
int tmp;
while ((m%n)!=0)
{
tmp=m % n;
m=n;
n=tmp;
}
return n;
}
//求最小公倍数
int GetMaxDivisor(int m,int n,int c)
{
return (m/c)*(n/c)*c;
}
结果:
Num1:115,Num2:552, , 。
收起