首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

挑战智力算法有关问题 著名的7-11连锁店有关问题,小弟不懂,各位高人,给30分!谢谢

2012-02-22 
挑战智力算法问题 著名的7-11连锁店问题,小弟不懂,求助各位高人,给30分!多谢。7-11连锁店问题:一人去7-11连

挑战智力算法问题 著名的7-11连锁店问题,小弟不懂,求助各位高人,给30分!多谢。
7-11连锁店问题:
一人去7-11连锁店买了4件商品,营业员计算时发现这4个商品价格之积为7.11¥,之和也是7.11¥,问这4件商品价格分别为多少?(据说是考推理的,小弟用JAVA编程穷举竟然无解,小弟写的程序如下,有什么错的地方请各位高人指教啊


class j10 
{
public static void main(String[] args) 
{
double x;
double y;
double z;
double h;


for (x=0.001;x<=150 ;x=x+0.001 )
{
for (y=0.001;y<=150 ;y=y+0.001)
{
for (z=0.001;z<=150 ;z=z+0.001)
{
for (h=0.001;h<=150;h=h+0.001)
{
if(x+y+z+h==7.11&&x*y*z*h==7.11)
{
System.out.println(x);
System.out.println(y);
System.out.println(z);
System.out.println(h);
}
}
}
}
}

}
}


[解决办法]
先把711因式分解会比较快吧
[解决办法]
1.20 1.25 1.50 3.16

你的有点精度问题,
用整数做
[解决办法]
1.20 1.25 1.50 3.16

#include <stdio.h>

int main()
{
long i,j,k,m;

for (i=1; i<=711/4 ; i++)
{
for (j=i; j<=711/3 ; j++)
{
for (k=j; k<=711/2 ; k++)
{
m=711-i-j-k;
if (i*j*k*m==711*1000000)
{
goto bfound;
}
}
}
}

printf("No\n");

bfound:;

printf("%d %d %d %d\n",i,j,k,m);

return 0;
}


热点排行