#include<iostream>
using namespace std;
long long git(long long a,long long b)
{
long long x = a * b;
long long temp;
while(b!=0)
{
temp = b;
b = a%b;
a = temp;
}
return x/a;
}
int main()
{
long long num[22];
for(int i = 0;i< 20; i++)
{
num[i] = i+1;
}
for(int i = 20; i > 1; i--)
{
for(int j = 0; j < i-1; j++)
{
num[j] = git(num[j],num[j+1]);
}
//for(int j = 0; j < i-1; j++)
//{
// cout << num[j] <<" ";
//}
//cout <<endl;
}
cout << num[0];
return 0;
}
```
就是说一开始设置num[i]=i+1
,使得num数组前二十个元素为1到20,然后从20开始往回算,先计算20和19的最小公倍数,然后计算这个结果与18的最小公倍数,这样一直算到与1的最小公倍数,然后输出最终结果
git函数是使用辗转相除的方式求两个数的最小公倍数
有帮助望采纳~