189 8069 5689

java代码猴子分桃,java猴子摘桃

java华为面试题 求海滩上桃子有多少

你题目也不完整,下面是我帮你百度到的,估计和你说的一样!希望对你有所帮助!

成都创新互联长期为成百上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为离石企业提供专业的网站制作、成都网站建设,离石网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

/**

需求:题目:海滩上有一堆桃子,五只猴子来分。

第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。

第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,

第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 

*/

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,递归,写猴子分桃问题

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转成C语言

你好!!

改过了,你看看吧

#include  stdio.h

int main()

{

int i=0;

int y,x;

for(y=16;;y+=4){

if((y-1)%5!=0) continue;

x=y;

for(i=4;i=1x%4==0;i--){

x=(x/4)*5+1;      

}

if(i==0) {

printf("第五个猴子分桃前的桃子数= %d\n",y);

printf("桃子数= %d\n",x);

break;

}

}

}

java 设计分桃问题

public static void main(String[] args) {

Test t=new Test();

int num=t.calculateOriginalPeachAmount(0.5, -1, 3, 10);

System.out.println(num);

}

public int calculateOriginalPeachAmount(

double percent,// 吃掉的占总数的百分比, 值区间 0.0 ~ 1.0, 如 0.5 表示吃掉一半

int stolen, // 每次被偷的个数, 合理的值应=0,但如果允许还回来则应该允许为负值,看自己的想法

int lastDay, // 发现最后剩余桃子个数的天数,注意最后一天并没有让猴子吃桃

int remain // 发现最后剩余桃子的个数

){

int num=remain;

for (int i = 1; i lastDay; i++) {

num=(int)((num+stolen)/(1-percent));

if(num=0){

return -1;//返回-1说明传入的参数有问题。

}

}

return num;

}

还桃子是可以的,但是不是所有的数据都可以。 所以要有计算判断。

猴子分桃(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代码实现

设这一堆桃子至少有x个,先借给它们4个,5个猴子分别拿 了 a、b、c、d 、e个桃子(其中包括吃掉的一个),则可得:

a=1/5*(x+4)

b=1/5*4/5*(x+4)=4/5^2*(x+4)

....

e= 4^4/5^5*(x+4)

e应为整数,而4的4次方不能被5的5次方整除,只有(x+4)应是5的5次方的倍数,所以

(x+4)=3125k(k取自然数)

当k=1时,x=3121

这样得出一个算式,设有n个猴子,即n-1的n-1次方除以n的n次方=x+n-1

以n为传入的参数,x为返回值

x=n的n次方-n-1


网站名称:java代码猴子分桃,java猴子摘桃
文章起源:http://cdxtjz.cn/article/hdgeis.html

其他资讯