java猴子分桃问题(java中猴子吃桃问题)
华为云服务器特价优惠火热进行中! 2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。
合作流程: |
本篇文章给大家谈谈java猴子分桃问题,以及java中猴子吃桃问题对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
微信号:cloud7591如需了解更多,欢迎添加客服微信咨询。
复制微信号
本文目录一览:
猴子分桃(java问题)
public static void main(String[] args) {
int sum2; //用来进行逻辑运算的桃子总数
int sum1 = 6; //实际的桃子总数
int count; //分桃子次数(控制内层循环)
int index; //分桃子次数(符合分桃方案的次数)
boolean flag = true; //控制外层循环
while(flag){
index = 0; //初始化分桃子的次数为0
count = 0; //初始化为第一个猴旅镇缓子开始分桃子
sum2 = sum1; //初始化逻辑运算的桃子总数为实际的桃子总数,因为此旅烂变量用于计算,所以值会改变,为拆模了不影响实际的桃子总数,所以用此变量代替!
while(count 5){ //猴子开是分桃子了!
if(sum2%5 == 1){ //如果桃子总数除以5余1说明此桃子总数符合分桃方案(sum2%5 == 1)
sum2 -= 1; //因为桃子被猴子扔掉一个,所以要减1
sum2 -= sum2/5; //又因为桃子被平均分为了5份并且被猴子拿走了1份,所以要减1/5
index++; //如果符合分桃方案就将计数器加1
}
if(index == 5){ //如果计数器等于5,也就是桃子的总数在符合分桃方案(sum2%5 == 1)的前提下分可5次的话!说明此桃子总数是符合条件的最小整数!
System.out.println("最少有 " + sum1 + " 个桃子!");
flag = false;//关闭外层循环;
break; //跳出内层循环;
}
count++; //5个猴子分桃子嘛!第一个分完了,当然该轮到第二个了!!所以要递增!
}
sum1 += 5; //桃子的总数只有每次递增5才可以符合分桃方案(sum2%5 == 1)!
}
}
不好意思啊,由于刚才比较赶时间,没好好写!
这回你再看看!! 如果还有哪里不清楚的话就问我好了!!

用JAVA,递归,写猴子分桃问题
public static void main(String []args)
{
Test t=new Test();
System.out.println(t.max(5,5,1));
}
int max(int n,int m,int x)
{
int result;
if(n==0)
return 1;
result= max(n-1,m,x)*m+x;
return result;
}
n是几个猴子分,m是每次分迟渗判几分,x是每次扔几码改喊谨个。
java华为面试题 求海滩上桃子有多少
你题目也不完整,下面是我帮你百度到的,估计和你说的一样!希望对你有所帮助!
/**
需求:题目:海滩上有一堆桃子,五只猴子来分。
第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃简悉子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,
第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
*/
public class 猴子分桃
{
public static void main(String[] args)
{
int sum=Sum();
System.out.println(sum);
}
private static int Sum()
{
int j=0;
int m=0;
for(int i=4;i10000;i+=4)
{
m=i;
int count=0;
for(int k=0;k5;k++)
{
j=i/4*5+1;
i=j;
if(j%4==0)
{
拦陆乎 count++;
}else
{
break;
}
}
i=m;
if(count==4)
{
悉中 break;
}
}
return j;
}
}
java使用多线程模拟这一过程
package know;
public class T31 {
public static int peaches=100;
public static synchronized int fetch(int num, int mypeach){
int i= peaches/2+peaches%2;
peaches-=i;
mypeach+=i;
System.out.println("第"+num+"只猴子抢到了桃子,这次抢到"+i+"个,现在有:"+mypeach+"个");
return mypeach;
}
public static void main(String[] args) throws InterruptedException {
Thread monkey1=new Thread(){
public void run(){
int mypeach=0;
肢乱 while(peaches1){
或饥旁 mypeach=fetch(1, mypeach);
}
}
};
Thread monkey2=new Thread(){
public void run(){
int mypeach=0;
while(peaches1){
mypeach=fetch(2, mypeach);
}
}
};
Thread monkey3=new Thread(){
衫橡public void run(){
int mypeach=0;
while(peaches1){
mypeach=fetch(3, mypeach);
}
}
};
monkey1.start();
monkey2.start();
monkey3.start();
}
}
关于java猴子分桃问题和java中猴子吃桃问题的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
