java中100个和尚的简单介绍

博主:adminadmin 2022-12-12 04:42:08 71

今天给各位分享java中100个和尚的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

100个和尚吃100个馒头问题 C#求算法

你的题目有问题 :大和尚一人吃4个,小和尚一人吃1个 这样答案:0个大和尚 100个小和尚

下面:

大和尚一人吃4个,小和尚四人吃1个

#includestdio.h

main()

{

int m=100;

for(int i=0;i=100/4;i++)

for(int j=0;j=100;j+=4)

{

if(i*4+j/4==m i+j==100) printf("大和尚:%d 小和尚:%d\n",i,j);

}

}

编程题:有100个和尚吃100个馒头,大和尚1人吃4个,小和尚4人吃1个,问有多少个大和尚和多少个小和尚?

大和尚为i;小和尚为100-i

伪代码如下

for(int i= 0; i=100;i++)

{

if((100-i)%4 ==0 i*4+(100-i)/4 == 100)

printf("大和尚 %d个,小和尚%d个",i,100-i);

}

100个和尚吃100个馒头,大和尚一人吃3个,小和尚3人吃1个,求大小和尚各多少个分析其算法,写出程序框图

首先

用二元一次方程来解

方程1

设大和尚X 小和尚Y

x+y=100

用条件 x=100-y代入方程

3*(100-y)+1/3y=100馒头

用约分的方法把方程中的唯一分母3去掉 除去括号中的之外左右都乘3(只要是3的整数倍)

9*(100-y)+3y=300

900-9y+y=300

移项

900-300=9y-y

600=8y

y=75 则x=25

方程2

设大和尚X 小和尚Y

x+y=100

用条件y=100-x代入方程

3x+1/3(100-x)=100馒头

用约分的方法把方程中的唯一分母3去掉 除去括号中的之外左右都乘3(只要是3的整数倍)

9x+100-x=300

移项

9x-x=300-100

8x=200

x=25 则y=75

不用约分 直接小数计算

3*(100-y)+1/3y=100

300-3y+0.33y=100

2.67y=200

y=75

3x+1/3(100-x)=100

3x+33-0.33x=100

2.67x=67

x=25

下面用假设的方法解答这道题:

在这道题中首先必须要解决的几个问题就是 100人当中大和尚的饭量是多少个馒头,或者,找出小和尚的饭量又是多少个馒头,这两个条件必须找出一个,另外还必须求出100个人他们每个人的饭量是几个馒头,只有这些条件都满足了,才能分别求出他们各自的具体人数

一种假设是,100人全是大和尚,吃掉全部100馒头,按每人吃3个计算,100大和尚共要吃掉300个馒头这样一来就比实际100个馒头多吃了200个,我们知道本来只有一部分人是大和尚,每个人吃3个是完全够吃的,现在100个人都变成大和尚100个馒头不够吃了怎么办,所以必须还要多吃掉属于小和尚们那份的馒头才能满足100个大和尚3倍的饭量,因此利用全部100个大和尚抢吃小和尚馒头吃的方式找出小和尚们的饭量是200个馒头

300-100=200

第二种假设,如果100人全是小和尚,吃掉全部100馒头,按每3个人吃一个馒头计算,100个小和尚最后也只能吃掉33个馒头,可是实际却吃了100个馒头,等于每个小和尚都多吃了0.67个馒头,也就是说小和尚们把留给大和尚的67个馒头跟抢占了 ,利用全部100个小和尚抢吃大和尚馒头的方式找出大和尚的饭量是67个馒头

100-33=67

如果以全部100个大和尚一个人吃3个共吃掉300个和全部100小和尚四个人吃一个只吃掉33个馒头各自用饭的总量情况来计算,那么100个大和尚比100个小和尚能多吃了267个馒头,除以100 总人数可以得出每个小和尚要比大和尚少吃2.67个馒头,反过来就是每位大和尚要比每位小和尚能多吃2.67个馒头,或者不这样算也可以,直接从题中给出的条件直接就可以算出小和尚每人只吃3分之一就等于是0.33,大和尚每人吃3个,每个大和尚比每个小和尚多吃2.67个馒头

用被小和尚多吃的67个馒头除以2.67,求出在本来属于大和尚的这67个馒头中,一个大和尚就少吃一个2.67,67个馒头大和尚们就少吃了25个2.67,因此大和尚有25个人

用被100个大和尚多吃的200个馒头除以2.67,求出在本来属于小和尚的这200个馒头中,一个小和尚就少吃一个2.67,200个馒头小和尚们就少吃了75个2.67,因此小和尚有75人

第三种方法就是按照所给出的比例进行划分 大和尚每人吃3个馒头 小和尚每3个人吃1个馒头,两者吃馒头的比例是3:1,总数是4个馒头,也就是说不管大和尚和小和尚他们的具体数目是多少,不管这100个馒头他们是怎么分配的,这个比例是绝不会变的,最后100个馒头吃完之后一定是大和尚吃了4分之3,小和尚吃了4分之一,

用拖式计算

100总人数-[(100个馒头乘3/4)除以大和尚每人吃3个]

=100-[(100*3/4)/3]

=100-[75/3]

=100总人数-25大和尚人数

=小和尚75人

或者

100总人数-[(100个馒头乘1/4)除以小和尚每人吃1/3个]

=100-[(100*1/4)除以1/3]

=100-[25除以1/3]

=100总人数-75小和尚人数

=25个大和尚

第四种方法就是,题中给出了大和尚和小和尚人数加起来一共才100人,同时大和尚每人吃3个馒头,3个小和尚吃一个馒头,大和尚吃的馒头是小和尚的3倍,并且刚好又是吃了100个馒头,虽然小和尚吃的馒头不如大和尚多,但是小和尚吃馒头的人数却要比大和尚多3倍,因此 我们如果把人数少的大和尚设为X的话,那么小和尚的人数就是3倍的X,就组成一个一元一次方程

x大和尚总人数+3x小和尚总人数=100人

4x=100

x=25大和尚总人数

又或者把 小和尚设为x,那么大和尚总人数就变成了小和尚总人数的1/3。也就是1/3x

x小和尚总人数+1/3x大和尚总人数=100人

约分后

3x+x=300

4x=300

x=75小和尚总人数

前面我们是用总人数来求解,或者我们用馒头总数也可以列一个一元一次方程,设吃馒头最少的小和尚吃的馒头总数是X,那么大和尚吃得馒头总数就是3倍的X,

3x大和尚吃的馒头总数+x小和尚吃的馒头总数=100馒头

4x=100

x=小和尚总共吃了25个馒头再乘以小和尚1个人吃1/3个馒头的条件,25个3相加就是75,小和尚75人,大和尚25人

又或者设吃馒头最多的大和尚所吃的馒头总数是x,那么小和尚吃的馒头总数就变成了大和尚馒头总数的1/3,也就是1/3x

x大和尚吃的馒头总数+1/3x小和尚吃的馒头总数=100馒头

约分后

3x+x=300

4x=300

x=75大和尚吃的馒头总数,再除以一个大和尚吃三个的数量,得出大和尚25人,小和尚75人

第五种解题方法就是用人数列队法,或者馒头叠加法来解答,首先大家知道100人当中既有大和尚又有小和尚,最后又是以一个大和尚吃三个馒头加上3个小和尚吃一个馒头的方式,最终刚好非常完整的分担了100个馒头,如果把1个大和尚和3个小和尚加在一起定为一个4人小队,那么100个人当中就有25个这样4人小队,那么也就是说大和尚的总人数肯定是占据了100个人当中的25个1相加,小和尚的总人数肯定是占据了100总人数当中的25个3相加,这样一来答案直接就得出来了,25个1相加大和尚就是25人,25个3相加小和尚就是75人

列成算式就是:

100-3*[100/(3+1)]

=100-3*[100/4]

=100-3*25

=100-75

=25求出大和尚人数

又或者

100-1*[100/(3+1)]

=100-1*[100/4]

=100-1*25

=100-25

=75求出小和尚人数

如果用馒头叠加法道理也是完全一样,把1个大和尚分3个馒头和3个小和尚分的一个馒头加起来4个馒头设为一单位,那么100个馒头就有25个这样的单位,那么也就是说大和尚吃的馒头总数肯定是占据了100个馒头当中的25个3相加,小和尚吃的馒头总数肯定是占据了100个馒头当中的25个1相加,这样一来答案直接就得出来了,25个3相加大和尚就吃75个馒头,25个1相加小和尚就吃了25馒头,然后再用大和尚吃的馒头数除以每个大和尚吃3个馒头的提示得出大和尚是25人,或者用小和尚吃的馒头数除以每个小和尚吃1/3馒头的提示的得出小和尚是75人,相信大家也已经发现了相比人数列队法而言馒头叠加法的解题方法只是过程上不可避免的多了一个步骤,其余部分还是一致的,根本原因就在于本题最后所要给出的答案是人数而不是馒头数所以多一个步骤在所难免

列成算式就是:

1/3{100-3*[100/(3+1)]}

=1/3{100-3*[100/4]}

=1/3{100-3*25}

=1/3{100-75}

=1/3*25小和尚吃的馒头总数

=75求出小和尚人数

又或者

{100-1*[100/(3+1)]}/3

={100-1*[100/4]}/3

={100-1*25}/3

={100-25}/3

=75/3

=25求出大和尚人数

杀100个和尚问题

public class KillMonk {

public static void main(String[] args)

{

Kill a=new Kill(100,5);

System.out.println(a.run());

}

}

class Kill{

int[] mans;

int end,space;

int temp;

int point;//记录

public Kill(int man,int space)

{

this.mans=new int[man+1];

this.end=man;

point=0;

temp=1;

this.space =space;

}

public int run(){

for(int i=1;i=end;i++)

mans[i]=i;

while(end!=1)

{

for(int i=1;i=end;i++)

{

point++;

if(point%space==0){

point=0;

continue;

}

mans[temp++]=mans[i];

}

end=temp-1;

temp=1;

}

return mans[1];

}

}

有100个和尚吃100个馒头。大和尚1个人吃3个。小和尚3个人吃一个,求有多少个大和尚和小和尚。用C语言完成

#includestdio.h

void main()

{

 int a,b;//这里a是大和尚,b是小和尚。

 for(a=1;a=100;a++)

 for(b=100-a;b=100;b++)

 if(3*a+b/3==100a+b==100)//要求满足吃的馒头是100个以及人也是100个

 printf("%d\t%d\n",a,b);

}

关于java中100个和尚和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-12,除非注明,否则均为首码项目网原创文章,转载请注明出处。