洛谷P1887 乘积最大3

题目描述

请你找出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}1N109,1M106

 

不错的一道小学奥数题

我们要让乘机最大

就要让分成的每个数都比较接近

那么我们依照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);
}

 

posted @ 2017-12-09 21:56  自为风月马前卒  阅读(769)  评论(0编辑  收藏  举报

Contact with me