5.
2520是最小的能被1-10中每个数字整除的正整数。最小的能被1-20中每个数整除的正整数是多少?
代码:
#define COUNT 20
#include <stdio.h>
#include <string.h>
int f(int a,int b)
{
int t;
if(a>b)
{
t=a;a=b;b=t;
}
for(t=a;t%a||t%b;t+=a){}; /*求最小公倍数辗除法的缩写看不懂可以写辗除法完整的样子*/
return t;
}
int main()
{
int a[COUNT];
int i,k;
for(i=0;i<COUNT;i++)
{
a[i]=i+1; /*给数组赋值1,2,3,......20*/
}
k=1;
for(i=0;i<COUNT;i++)
{
k=f(k,a[i]); /*计算1 2 的公倍数,在求 这个公倍数 和3 的公倍数然后这个公倍数再和4求公倍数
一直求到20*/
}
printf("\n最小公倍数为:%d\n",k);
return 0;
}