搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 关于c语言程序问题,求各位c语言爱好者和大神们相助,具体的请看补充问题!!万分感谢!
标题:
关于c语言程序问题,求各位c语言爱好者和大神们相助,具体的请看补充问题! ...
只看楼主
big棒槌
等 级:
新手上路
帖 子:1
专家分:0
注 册:2012-11-29
结帖率:
0
楼主
已结贴
√
问题点数:20 回复次数:2
关于c语言程序问题,求各位c语言爱好者和大神们相助,具体的请看补充问题!!万分感谢!
有这个方程x+y+z=1。规定x,y,z都是取小数点后一位的数,即x可以等于0.1,0.2,0.3到0.9。y,z和x的取值方式一样。现在求一个c语言程序,使x*0.2+y*0.5+z*0.6的值最大。(以及怎么推广到不止xyz三个数,比如有四以及更多的n个数的和等于1,那么程序又是怎么写哦。*表示乘号哈)求各位c语言爱好者即大神帮帮我,小弟万分感谢,难于言表!!
搜索更多相关主题的帖子:
c语言程序
爱好者
小数点
2012-11-29 23:29
jk_love
等 级:
蝙蝠侠
威 望:
1
帖 子:196
专家分:965
注 册:2012-10-22
第
2
楼
得分:10
提供一个比较笨的方法如下,看这个这么久都没人回:
还有值得推广的,因为是乘法,看系数,然后对取得数排大小就是了。
#include <stdio.h>
#define FNUM 0.000001
int main()
{
float a,b,c,x,y,z,result=0,max=0;
for(a=0.1;a<=0.9;a+=0.1)
for(b=0.1;b<=0.9;b+=0.1)
for(c=0.1;c<=0.9;c+=0.1)
{
if( ( -FNUM<((a+b+c)-1.0) ) && ( ((a+b+c)-1.0 )<FNUM) )
{
result=0.2*a+0.5*b+0.6*c;
if(max<=result)
{
max=result;
x=a;
y=b;
z=c;
}
}
}
printf("max=%f x=%f y=%f z=%f\n",max,x,y,z);
}
2012-11-30 13:48
laoA
等 级:
论坛游民
帖 子:24
专家分:59
注 册:2012-11-18
第
3
楼
得分:10
数学中的线性规划问题,高中就有了、。、。、、
2012-11-30 15:08
3
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-389016-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.468432 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved