#问题
2050是最小的能够被 1到10 整除的正数。
最小的能够被 1 到 2023整除的正数是多少?
由于答案很大,输出答案对 10^9+7 取模的结果
##我们根据最小公倍数和最大公约数的关系可以得到。 A与B的最小公倍数 = A * B / gcd(A, B)
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
###代码
#include<iostream>
#include<math.h>
#include<algorithm>
#include<cstring>
using namespace std;
long long a[3000];
int gcd(int a,int b)
{
return b==0?a:gcd(b,a%b);
}
long long ans=2023;
int main()
{
int shu=0;
a[shu++]=2023;
for(int i=2022;i>=1;i--)
{
int k=i;
for(int j=0;j<shu;j++)
{
int h=gcd(k,a[j]);
k=k/h;
}
ans*=k;
a[shu++]=k;
ans=ans%(1000000000+7);
}
cout<<ans<<endl;
return 0;
}