杯子分水问题有12L水装在一个12L的杯子中 现在又一个 4L 和 9L 的杯子,问如何才能分出6L水?求一般解法 如果将杯子容积变化一下呢?譬如 4L 8L 求所有分法(杯子容积任选,2个即可 12L的那

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 13:50:53
杯子分水问题有12L水装在一个12L的杯子中 现在又一个 4L 和 9L 的杯子,问如何才能分出6L水?求一般解法 如果将杯子容积变化一下呢?譬如 4L 8L 求所有分法(杯子容积任选,2个即可 12L的那

杯子分水问题有12L水装在一个12L的杯子中 现在又一个 4L 和 9L 的杯子,问如何才能分出6L水?求一般解法 如果将杯子容积变化一下呢?譬如 4L 8L 求所有分法(杯子容积任选,2个即可 12L的那
杯子分水问题
有12L水装在一个12L的杯子中 现在又一个 4L 和 9L 的杯子,问如何才能分出6L水?
求一般解法 如果将杯子容积变化一下呢?譬如 4L 8L
求所有分法(杯子容积任选,2个即可 12L的那个不变 杯子容积在1-12L内整数取值)
这是今天看5*3想到的 我想出5L 8L的了

杯子分水问题有12L水装在一个12L的杯子中 现在又一个 4L 和 9L 的杯子,问如何才能分出6L水?求一般解法 如果将杯子容积变化一下呢?譬如 4L 8L 求所有分法(杯子容积任选,2个即可 12L的那
一般解法也有,我这儿有一个程序,无论你怎么改变杯子的容积,都可以求出最优的分法.
#include "stdio.h"
int max[3]={12,9,4};
int a=12,b=0,c=0;
void f1() /*12->9*/
{
a=a-(max[1]-b);
b=max[1];
}
void f2() /*9->4*/
{
if(b>=max[2])
{
b=b-(max[2]-c);
c=max[2];
}
else
{
c=b;
b=0;
}
}
void f3() /*4->12*/
{
a=a+c;
c=0;
}
main()
{
int i=1;
for(;;i++)
{
if(c==max[2])
f3();
else if(b>c)
f2();
else f1();
printf("%d %d %d\n",a,b,c);
if(a==6&&b==6)
break;
}
printf("%d\n",i);
}
通过main函数可以看到:
假设三个杯子容量为a=12,12>b>c>0;
则:
1.当c杯子满的时候,将c倒入a中.否则2
2.当杯子水量大于c杯子水量时,将b倒入c中.否则3
3.将a倒入b中.
这样得到的一定是最优解.
不好意思,回复晚了!

一般解法也有,我这儿有一个程序,无论你怎么改变杯子的容积,都可以求出最优的分法。
#include "stdio.h"
int max[3]={12,9,4};
int a=12,b=0,c=0;
void f1() /*12->9*/
{
a=a-(max[1]-b);
b=max[1];
}
void f2() /*9...

全部展开

一般解法也有,我这儿有一个程序,无论你怎么改变杯子的容积,都可以求出最优的分法。
#include "stdio.h"
int max[3]={12,9,4};
int a=12,b=0,c=0;
void f1() /*12->9*/
{
a=a-(max[1]-b);
b=max[1];
}
void f2() /*9->4*/
{
if(b>=max[2])
{
b=b-(max[2]-c);
c=max[2];
}
else
{
c=b;
b=0;
}
}
void f3() /*4->12*/
{
a=a+c;
c=0;
}
main()
{
int i=1;
for(;;i++)
{
if(c==max[2])
f3();
else if(b>c)
f2();
else f1();
printf("%d %d %d\n",a,b,c);
if(a==6&&b==6)
break;
}
printf("%d\n",i);
}
通过main函数可以看到:
假设三个杯子容量为a=12,12>b>c>0;
则:
1.当c杯子满的时候,将c倒入a中。否则2
2.当杯子水量大于c杯子水量时,将b倒入c中。否则3
3.将a倒入b中。
这样得到的一定是最优解。
不好意思,回复晚了!!

收起

杯子分水问题有12L水装在一个12L的杯子中 现在又一个 4L 和 9L 的杯子,问如何才能分出6L水?求一般解法 如果将杯子容积变化一下呢?譬如 4L 8L 求所有分法(杯子容积任选,2个即可 12L的那 杯子分水有一5l的杯子(没水),还有一个3l的杯子(没水),这是有一个空瓶子(至少能装5l水);现有个一个装满5l水的盆子,请用一个方案,将这个空瓶子装满4l水 倒水问题8L的杯子和3l的杯子,水有很多,要倒出4L的杯子,怎么倒? 如果有一个3L和一个5L的杯子,怎么量出4L的水? 如果有一个3L和一个5L的杯子,怎么量出4L的水?3Q 如果有一个3L和一个5L的杯子,怎么量出4L的水? 有没刻度3L和7L量杯各一个,你能用两个杯子在不浪费水的情况下,把水平分吗? 倒水问题5L的杯子和3l的杯子,水有很多,要倒出4的杯子,怎么倒?只有2个杯子,倒完了可以向地上撒去,但是地上的水没用 一个杯子可装3L水,另一个杯子可装5L水,怎么用这两个杯子装4L水 物理浮力问题!今天晚上必须做出来!好的追分!一共6个问题,答得问题越多越好!如果一个装着一部分水的杯子放在水平面上,(所有问题水均不溢出,不计绳子体积)①然后放进一个铁快进去,杯 有3L和5L的两个没有刻度的玻璃杯,你能用这两个杯子在不浪费水的情况下,量出4L和7L水吗请详细易懂的说明 有3L和5L两个没有刻度的玻璃杯,你能用这两个杯子在不浪费水的情况下量出4L和7L的水吗?数学扩展训练 有3L和5L的两个没有刻度的玻璃杯,你能用两个杯子在不浪费水的情况下量出4L和7L水吗? 关于光线的反射折射的问题,求大神回答如图,在一个容器中,装有一部分水,上面是空气.现垂直水面放入一面镜子L,一束光线(假设入射角为60°),射入空气、水、镜面的交点,问这束光线经平面 三个杯子,一个10L满,两个空的分别是5L 3L,要倒成6L 4L 0L, 现有3个杯子,容量分别为10L、7L、3L,大杯中有10L水,要求是将水平均分到10L的杯子和7L的杯子各5L.如何分可以做到啊 放在水平桌面上的一个杯子中1 N,底面积是0.01m,杯中装有0.6L,深度为 0.05m的水.杯壁厚度不计,如图11所示.(g=10 )求:水对杯子底部的压力和压强杯子对桌面的压强(杯子是倒梯形,就是上端比 有3L和5L的两个没有刻度的玻璃杯,你能用这两个杯子在不浪费水的情况下,量出7L水吗