问题:
给定两个不大于1000的正整数,计算这两个数的最小公倍数。
代码:
#include<stdio.h>
int max_(int a,int b)
{
if(a>b) return a;
else return b;
}
int select_(int i,int a,int b)
{
if(a%i==0&&b%i==0)
{
return 1;
}
else
{
return 0;
}
}
main()
{
int i,f;
int n,m;
int x,y;
long long int z;
while(scanf("%d%d",&x,&y)!=EOF)
{
f=1;
m=x;
n=y;
for(i=2;i<=max_(m,n);i++) //第一次写的代码循环从1开始
{
while(select_(i,m,n))
{
f=f*i;
m=m/i;
n=n/i;
}
}
z=x*y/f;
printf("%d\n",z);
}
}
没有调用数学函数,比较大小也自己写的。
第一次写的代码循环从1开始,造成了死循环。
这道题有点水。。。