请你找出M个和为N的正整数,他们的乘积要尽可能的大。
输出字典序最小的一种方案。
输入格式:
一行,两个正整数N,M
输出格式:
M个和为N的,乘积尽可能的大的正整数。
输入样例#1:
6 3
输出样例#1:
2 2 2
对于100%的数据,1 \le N \le 10^{9},1 \le M \le 10^{6}1≤N≤109,1≤M≤106
不错的一道小学奥数题
我们要让乘机最大
就要让分成的每个数都比较接近
那么我们依照N/M进行划分就好
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int N,M;
cin>>N>>M;
int x1=N/M,x2=N%M;
for(int i=1;i<=M-x2;i++) printf("%d ",x1);
for(int i=1;i<=x2;i++) printf("%d ",x1+1);
}