细节很多的题
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main(){
ll n,k,tmp,ans=
1;
cin >> n >>
k;
tmp=
2*n/k/(
1+
k);
if(tmp==
0) {
puts("-1");
return 0;
}
for(ll i=
2;i*i<=n;i++
){
if(n%i==
0){
if(i*i==
n){
if(i<=tmp) ans=
max(ans,i);
}
else {
if(i<=tmp) ans=
max(ans,i);
if(n/i<=tmp) ans=max(ans,n/
i);
}
}
}
for(
int i=
1;i<k;i++
)
printf("%lld ",ans*i),n-=ans*
i;
printf("%lld\n",n);
}
转载于:https://www.cnblogs.com/zsben991126/p/10241119.html