洛谷 P1887 乘積最大3

2021-09-26 16:20:00 字數 740 閱讀 6629

題目描述link.

請你找出m個和為n的正整數,他們的乘積要盡可能的大。

輸出字典序最小的一種方案。

輸入格式

一行,兩個正整數n,m

輸出格式

m個和為n的,乘積盡可能的大的正整數。

思路:首先從最簡單的問題開始分析,假設m=2,即分為兩組使和最大,那麼:

已知x+y=k(k為常數),s=x*y,當x=y時,有s的最大值。

由此可以類推:

當乙個數n被分為m份時,當每份數量相等,這m個數的乘積最大,因而我們只需要使這m個數都相等就行了,所以有了q=n/m,又因為題目要求每個數都為整數,故每個數要盡量的接近q,又因為在c語言中,整形n/m結果為整數向下取整,所以結果只有兩種可能 這兩個數只有兩種:n/m&&n/m +1;要求乘積最大,當然要盡可能接近,最多最多最多差1。

所以在最後,餘數一定小於除數,看有幾個1,就有幾個數為(q+1),又因為總人數為m,則q有m-餘數個;

#include

#include

#include

#include

#include

#include

#include

#include

#define pi 3.1415926535

#include

#include

#include

intmain()

say bye~~

洛谷 P1018 乘積最大

題目描述 今年是國際數學聯盟確定的 2000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰90周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友xz也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為n的數字串,要求選手使用k個乘...

洛谷P1018 乘積最大

洛谷p1018 乘積最大 題意 給乙個長度為n的數字串,在這個數字串中插入k個乘號,使得表示式的乘積最大 分析一下 算了,懶得分析了,中有詳細注釋,直接看 吧 君 include using namespace std const int maxn 45 struct biginteger bigi...

洛谷 P1018 乘積最大

今年是國際數學聯盟確定的 20002000 世界數學年 又恰逢我國著名數學家華羅庚先生誕辰 9090 周年。在華羅庚先生的家鄉江蘇金壇,組織了一場別開生面的數學智力競賽的活動,你的乙個好朋友 xzxz 也有幸得以參加。活動中,主持人給所有參加活動的選手出了這樣一道題目 設有乙個長度為 nn 的數字串...