已知 N 个正整数满足 K1+K2+...+Kn=M.求一组最佳的分解,使得 K1*K2*.*Kn 为最大.
N变了我不会改
人气:252 ℃ 时间:2020-03-20 22:34:44
解答
这道题目加入不先用数学方法分析的话,程序设计设计就会很繁琐,我猜你就是用N重循环做的,很耗时,如果N变了,程序又要修改.
但先分析一下,如9这个数,分为 1 3 5 1*3*5=15 2 3 4 2*3*4=24 3*3*3=27
也就是把一个M数分成N个数,它们越接近就乘积越大
所以程序如下
#include
int main()
{ int n,m,i,s,j,a[100]={0};
long t;
scanf("%d %d",&n,&m);
s=m/n;
for(i=0;i
推荐
- 等差数列中d≠0,部分项组成数列a(k1),a(k2)...a(kn)恰成等比数列,且k1=1,k2=5,k3=17.,求k1+k2+...+kn
- 已知数列{an}为等差数列,公差d≠0,{an}的部分项组成下列数列:ak1,ak2,…,akn,恰为等比数列,其中k1=1,k2=5,k3=17,求k1+k2+k3+…+kn.
- 已知在n个数据中,x1出现k1次,x2出现k2次,xn出现kn次(k1+……kn=n),a是这n个数的平均数
- 已知当数x>3时有f (x) =3f (x) ,当1
- 若规定E={a1,a2...,a10}的子集{ak1ak2...,akn}为E的第k个子集,其中k=2∧k1-1+2∧k2-1+...+2∧kn-1,
- 二加二的平方再加二的三次方一直加到二的99次方等于多少
- 已知sin(α+β)=1,求tan(2α+β)=0
- 我的家乡——绍兴 作文怎么写
猜你喜欢