读书人

挑战智力算法有关问题 著名的7-11连锁

发布时间: 2012-02-22 19:36:54 作者: rapoo

挑战智力算法问题 著名的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;
}


读书人网 >软件架构设计

热点推荐