请给出分析或算法
28 个解决方案
#1
1/2+1/4+1/5=19/20
#2
什么意思说清楚一点
#3
先从别处借一头牛,这样就有20了,然后按照规定的比例分配,最后刚好剩下一头,再还回去就行了
#4
这个题目记得高中学极限的时候老师给说过,用的就是楼上的方法。
#5
讓我想到了另外一個類型的問題
有27個人踢完足球去買飲料喝,每3個空瓶可以換1瓶新的,問至少買多少瓶就可以滿足每個人都可以有一瓶?
有27個人踢完足球去買飲料喝,每3個空瓶可以換1瓶新的,問至少買多少瓶就可以滿足每個人都可以有一瓶?
#6
倒。。。这样题目都还来
先借头牛凑成20头牛,不就是老大10头,老二5头,老三4头,最后把借的牛还回去
先借头牛凑成20头牛,不就是老大10头,老二5头,老三4头,最后把借的牛还回去
#7
小学题。。。汗
#8
你们能用程序实现吗,理论谁都懂
#9
假设从别人那里借来N头牛,那么牛的总数就是n=19+N;能满足分配
那么就可以得到等式n-n/2-n/4-n/5=N,因为最后还要把牛还给人家;
可以得到N=1;
那么就可以得到等式n-n/2-n/4-n/5=N,因为最后还要把牛还给人家;
可以得到N=1;
#10
很简单的一个方法得出的结论,老大10,老二5,老三4,一共是19头对吗?
具体算法如下19+1=20
20*1/2=10
20*1/4=5
20*1/5=4
怎么样?简单不??lz
具体算法如下19+1=20
20*1/2=10
20*1/4=5
20*1/5=4
怎么样?简单不??lz
#11
我再声明一遍请用程序,这不是数学论坛
#12
空谈理论是毫无意义的!
#13
其实这个题目的关键正像2楼所说,“1/2+1/4+1/5=19/20”
是老大分1/2,老二分1/4,老三分1/5
这个“遗嘱”并没有把自己的全部财产分光19*(0.5+0.25+0.2)=18.05
也就是剩下了0.95个空余,而所谓借1头牛实际上是大家瓜分了这0.95个空余
(仍按照1/2:1/4:1/5的比例)
所以要较起真,借一头牛来分牛是不符合遗嘱的。
是老大分1/2,老二分1/4,老三分1/5
这个“遗嘱”并没有把自己的全部财产分光19*(0.5+0.25+0.2)=18.05
也就是剩下了0.95个空余,而所谓借1头牛实际上是大家瓜分了这0.95个空余
(仍按照1/2:1/4:1/5的比例)
所以要较起真,借一头牛来分牛是不符合遗嘱的。
#14
要用程序表达一个思想首先要把这个思想明确下来,而不是现在这个玩弄语义和概念的模糊思想,当你要表达的东西都很模糊的时候,你指望程序能得到什么呢?
实际的例子想到用程序来解答其实是一个很好的想法
实际的例子想到用程序来解答其实是一个很好的想法
#15
数论学的好的话不妨解一解下面这个不定方程
(D+1)(1/A+1/B+1/C) = D
我记得大约有7、8个正整数解 上面的题目只是其中一种(D=19,A=2,B=4,C=5)
(D+1)(1/A+1/B+1/C) = D
我记得大约有7、8个正整数解 上面的题目只是其中一种(D=19,A=2,B=4,C=5)
#16
看来小时候数学题做的太少。
#17
哦
#18
为什么要借一个1过来?这个思路是怎么出来的?
#19
小学时学的,借汽水
#20
假设从别人那里借来N头牛,那么牛的总数就是n=19+N;能满足分配
那么就可以得到等式n-n/2-n/4-n/5=N,因为最后还要把牛还给人家;
可以得到N=1;
那么就可以得到等式n-n/2-n/4-n/5=N,因为最后还要把牛还给人家;
可以得到N=1;
#21
void main()
{
int i;
for (i=0;i<1000;i++)
{
float j=19+i;
if(j==(j/2+j/4+j/5+i))
printf("%d",i);
printf("\n");
cin.get();
}
}
这样写好像对的,不知道有没有存在问题,请高手指点!
{
int i;
for (i=0;i<1000;i++)
{
float j=19+i;
if(j==(j/2+j/4+j/5+i))
printf("%d",i);
printf("\n");
cin.get();
}
}
这样写好像对的,不知道有没有存在问题,请高手指点!
#22
用浮点数的话很难保证没问题发生。。。
这个题的答案是整数的话,
我觉得还不如用整形,判断余数为0之后取商
这个题的答案是整数的话,
我觉得还不如用整形,判断余数为0之后取商
#23
去借一只牛,就搞定了
#24
顶bargio_susie
1/2+1/4+1/5=19/20正解
1/2+1/4+1/5=19/20正解
#25
按老头的遗嘱,最终是“告诉他们把19头牛分了”,这样兄弟三人必须把所有的牛分完。
但是分配方法是“老大分1/2,老二分1/4,老三分1/5”,这里不是说三人分别拿总数的多少,应该理解成三人的分配比例是:1/2:1/4:1/5 =10:5:4。
这样是不是就非常简单了。三人分别拿 10/5/4。
这里有个启示:如果能准确理解客户需求,也就是“老头的遗嘱”,问题就可以迎刃而解了。
其实,程序员编程用什么算法都是次要的,解决问题是最重要的。
算法是为了解决问题提出来的,如果程序员为了自己轻松,什么事情都交给程序,那是不对的。
但是分配方法是“老大分1/2,老二分1/4,老三分1/5”,这里不是说三人分别拿总数的多少,应该理解成三人的分配比例是:1/2:1/4:1/5 =10:5:4。
这样是不是就非常简单了。三人分别拿 10/5/4。
这里有个启示:如果能准确理解客户需求,也就是“老头的遗嘱”,问题就可以迎刃而解了。
其实,程序员编程用什么算法都是次要的,解决问题是最重要的。
算法是为了解决问题提出来的,如果程序员为了自己轻松,什么事情都交给程序,那是不对的。
#26
嗯,明明小学时就知道:1+2+……+n=n*(n+1)/2,到现在写程序的时候居然还要写个循环来算,那就不是聪明的程序员
#27
弥勒拂 解释的不错! 顶你!
#28
如果能准确理解客户需求,也就是“老头的遗嘱”,问题就可以迎刃而解了。
----------------------------------------------------------------------
很顯然大家都沒有理解老頭的意思,老頭分了19/20出去,是想留著1/20陪葬。既然不能宰牛,正確的處理方法是把所有牛賣了,拿出1/20的錢買點陪葬品,其餘的錢按比例分了
----------------------------------------------------------------------
很顯然大家都沒有理解老頭的意思,老頭分了19/20出去,是想留著1/20陪葬。既然不能宰牛,正確的處理方法是把所有牛賣了,拿出1/20的錢買點陪葬品,其餘的錢按比例分了
#1
1/2+1/4+1/5=19/20
#2
什么意思说清楚一点
#3
先从别处借一头牛,这样就有20了,然后按照规定的比例分配,最后刚好剩下一头,再还回去就行了
#4
这个题目记得高中学极限的时候老师给说过,用的就是楼上的方法。
#5
讓我想到了另外一個類型的問題
有27個人踢完足球去買飲料喝,每3個空瓶可以換1瓶新的,問至少買多少瓶就可以滿足每個人都可以有一瓶?
有27個人踢完足球去買飲料喝,每3個空瓶可以換1瓶新的,問至少買多少瓶就可以滿足每個人都可以有一瓶?
#6
倒。。。这样题目都还来
先借头牛凑成20头牛,不就是老大10头,老二5头,老三4头,最后把借的牛还回去
先借头牛凑成20头牛,不就是老大10头,老二5头,老三4头,最后把借的牛还回去
#7
小学题。。。汗
#8
你们能用程序实现吗,理论谁都懂
#9
假设从别人那里借来N头牛,那么牛的总数就是n=19+N;能满足分配
那么就可以得到等式n-n/2-n/4-n/5=N,因为最后还要把牛还给人家;
可以得到N=1;
那么就可以得到等式n-n/2-n/4-n/5=N,因为最后还要把牛还给人家;
可以得到N=1;
#10
很简单的一个方法得出的结论,老大10,老二5,老三4,一共是19头对吗?
具体算法如下19+1=20
20*1/2=10
20*1/4=5
20*1/5=4
怎么样?简单不??lz
具体算法如下19+1=20
20*1/2=10
20*1/4=5
20*1/5=4
怎么样?简单不??lz
#11
我再声明一遍请用程序,这不是数学论坛
#12
空谈理论是毫无意义的!
#13
其实这个题目的关键正像2楼所说,“1/2+1/4+1/5=19/20”
是老大分1/2,老二分1/4,老三分1/5
这个“遗嘱”并没有把自己的全部财产分光19*(0.5+0.25+0.2)=18.05
也就是剩下了0.95个空余,而所谓借1头牛实际上是大家瓜分了这0.95个空余
(仍按照1/2:1/4:1/5的比例)
所以要较起真,借一头牛来分牛是不符合遗嘱的。
是老大分1/2,老二分1/4,老三分1/5
这个“遗嘱”并没有把自己的全部财产分光19*(0.5+0.25+0.2)=18.05
也就是剩下了0.95个空余,而所谓借1头牛实际上是大家瓜分了这0.95个空余
(仍按照1/2:1/4:1/5的比例)
所以要较起真,借一头牛来分牛是不符合遗嘱的。
#14
要用程序表达一个思想首先要把这个思想明确下来,而不是现在这个玩弄语义和概念的模糊思想,当你要表达的东西都很模糊的时候,你指望程序能得到什么呢?
实际的例子想到用程序来解答其实是一个很好的想法
实际的例子想到用程序来解答其实是一个很好的想法
#15
数论学的好的话不妨解一解下面这个不定方程
(D+1)(1/A+1/B+1/C) = D
我记得大约有7、8个正整数解 上面的题目只是其中一种(D=19,A=2,B=4,C=5)
(D+1)(1/A+1/B+1/C) = D
我记得大约有7、8个正整数解 上面的题目只是其中一种(D=19,A=2,B=4,C=5)
#16
看来小时候数学题做的太少。
#17
哦
#18
为什么要借一个1过来?这个思路是怎么出来的?
#19
小学时学的,借汽水
#20
假设从别人那里借来N头牛,那么牛的总数就是n=19+N;能满足分配
那么就可以得到等式n-n/2-n/4-n/5=N,因为最后还要把牛还给人家;
可以得到N=1;
那么就可以得到等式n-n/2-n/4-n/5=N,因为最后还要把牛还给人家;
可以得到N=1;
#21
void main()
{
int i;
for (i=0;i<1000;i++)
{
float j=19+i;
if(j==(j/2+j/4+j/5+i))
printf("%d",i);
printf("\n");
cin.get();
}
}
这样写好像对的,不知道有没有存在问题,请高手指点!
{
int i;
for (i=0;i<1000;i++)
{
float j=19+i;
if(j==(j/2+j/4+j/5+i))
printf("%d",i);
printf("\n");
cin.get();
}
}
这样写好像对的,不知道有没有存在问题,请高手指点!
#22
用浮点数的话很难保证没问题发生。。。
这个题的答案是整数的话,
我觉得还不如用整形,判断余数为0之后取商
这个题的答案是整数的话,
我觉得还不如用整形,判断余数为0之后取商
#23
去借一只牛,就搞定了
#24
顶bargio_susie
1/2+1/4+1/5=19/20正解
1/2+1/4+1/5=19/20正解
#25
按老头的遗嘱,最终是“告诉他们把19头牛分了”,这样兄弟三人必须把所有的牛分完。
但是分配方法是“老大分1/2,老二分1/4,老三分1/5”,这里不是说三人分别拿总数的多少,应该理解成三人的分配比例是:1/2:1/4:1/5 =10:5:4。
这样是不是就非常简单了。三人分别拿 10/5/4。
这里有个启示:如果能准确理解客户需求,也就是“老头的遗嘱”,问题就可以迎刃而解了。
其实,程序员编程用什么算法都是次要的,解决问题是最重要的。
算法是为了解决问题提出来的,如果程序员为了自己轻松,什么事情都交给程序,那是不对的。
但是分配方法是“老大分1/2,老二分1/4,老三分1/5”,这里不是说三人分别拿总数的多少,应该理解成三人的分配比例是:1/2:1/4:1/5 =10:5:4。
这样是不是就非常简单了。三人分别拿 10/5/4。
这里有个启示:如果能准确理解客户需求,也就是“老头的遗嘱”,问题就可以迎刃而解了。
其实,程序员编程用什么算法都是次要的,解决问题是最重要的。
算法是为了解决问题提出来的,如果程序员为了自己轻松,什么事情都交给程序,那是不对的。
#26
嗯,明明小学时就知道:1+2+……+n=n*(n+1)/2,到现在写程序的时候居然还要写个循环来算,那就不是聪明的程序员
#27
弥勒拂 解释的不错! 顶你!
#28
如果能准确理解客户需求,也就是“老头的遗嘱”,问题就可以迎刃而解了。
----------------------------------------------------------------------
很顯然大家都沒有理解老頭的意思,老頭分了19/20出去,是想留著1/20陪葬。既然不能宰牛,正確的處理方法是把所有牛賣了,拿出1/20的錢買點陪葬品,其餘的錢按比例分了
----------------------------------------------------------------------
很顯然大家都沒有理解老頭的意思,老頭分了19/20出去,是想留著1/20陪葬。既然不能宰牛,正確的處理方法是把所有牛賣了,拿出1/20的錢買點陪葬品,其餘的錢按比例分了