最大公约数。
计算$x$与$i$的最小公倍数,就是这些人至少需要喝几杯,最小公倍数除以$x$就是要买几瓶。
#include <cstdio> #include <cmath> #include <cstring> #include <algorithm> using namespace std; long long x,n; long long gcd(long long a,long long b) { if(b==0) return a; return gcd(b,a%b); } int main() { scanf("%lld%lld",&x,&n); for(long long i=2;i<=n;i++) { long long LCM = i*x/gcd(i,x); printf("%lld ",LCM/x); } return 0; }