最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
java猴子分桃代碼,猴子吃桃子java

用JAVA,遞歸,寫猴子分桃問(wèn)題

//樓上幾位的有邏輯問(wèn)題

伊通ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書(shū)合作)期待與您的合作!

public

class

Dg

{

static

int

ts=0;//桃子總數(shù)

int

fs=1;//記錄分的次數(shù)

static

int

hs=5;//猴子數(shù)...

int

tsscope=5000;//桃子數(shù)的取值范圍,范轉(zhuǎn)太大容易溢出.

public

int

fT(int

t){

if(t==tsscope){

//當(dāng)桃子數(shù)到了最大的取值范圍時(shí)取消遞補(bǔ)歸

System.out.println("結(jié)束");

return

0;

}

else{

if((t-1)%hs==0

fs=hs){

if(fs==hs)

{

System.out.println("桃子數(shù)

=

"+ts

+"

時(shí)滿足分桃條件");

}

fs+=1;

return

fT((t-1)/5*4);//

返回猴子拿走一份后的剩下的總數(shù)

}

else

{

//沒(méi)滿足條件

fs=1;//分的次數(shù)重置為1

return

fT(ts+=1);//桃子數(shù)加+1

}

}

}

public

static

void

main(String[]

args)

{

new

Dg().fT(0);

}

}

猴子分桃問(wèn)題,用Java代碼實(shí)現(xiàn)

設(shè)這一堆桃子至少有x個(gè),先借給它們4個(gè),5個(gè)猴子分別拿 了 a、b、c、d 、e個(gè)桃子(其中包括吃掉的一個(gè)),則可得:

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應(yīng)為整數(shù),而4的4次方不能被5的5次方整除,只有(x+4)應(yīng)是5的5次方的倍數(shù),所以

(x+4)=3125k(k取自然數(shù))

當(dāng)k=1時(shí),x=3121

這樣得出一個(gè)算式,設(shè)有n個(gè)猴子,即n-1的n-1次方除以n的n次方=x+n-1

以n為傳入的參數(shù),x為返回值

x=n的n次方-n-1

java經(jīng)典算法題——猴子吃桃

public class Monkey

{

public static void main(String[] args)

{

int sum=0,remain=1;

//每天吃剩的桃子加一個(gè)正好是前一天桃子的一半,每天桃子的總數(shù)就是前一天剩下桃子的數(shù)量

for(int day=9;day=1;day--)

{

sum=(remain+1)*2;

remain=sum;

System.out.println("第"+day+"天還剩"+remain+"個(gè)桃子");

}

System.out.println(sum);

}

}

猴子分桃!

答案是:3121個(gè)

思路:結(jié)果肯定是(5的某個(gè)倍數(shù)+1),從6開(kāi)始,以五遞增,驗(yàn)證能否滿足條件,第一個(gè)能滿足條件的就是結(jié)果。所謂滿足條件就是減1后能被5整除,之后乘以4/5后,還能滿足這個(gè)條件,循環(huán)5次。

源代碼如下:

#include iostream.h

void main()

{

int i;

int j;

int k;

for (i = 6, j = 6, k = 0; k 5; )

{

if ((j - 1) % 5 == 0)

{

j = (j - 1) / 5 * 4;

k++;

}

else

{

i = i + 5;

j = i;

k = 0;

}

}

cout i endl;

}

猴子分桃(java問(wèn)題)

public static void main(String[] args) {

int sum2; //用來(lái)進(jìn)行邏輯運(yùn)算的桃子總數(shù)

int sum1 = 6; //實(shí)際的桃子總數(shù)

int count; //分桃子次數(shù)(控制內(nèi)層循環(huán))

int index; //分桃子次數(shù)(符合分桃方案的次數(shù))

boolean flag = true; //控制外層循環(huán)

while(flag){

index = 0; //初始化分桃子的次數(shù)為0

count = 0; //初始化為第一個(gè)猴子開(kāi)始分桃子

sum2 = sum1; //初始化邏輯運(yùn)算的桃子總數(shù)為實(shí)際的桃子總數(shù),因?yàn)榇俗兞坑糜谟?jì)算,所以值會(huì)改變,為了不影響實(shí)際的桃子總數(shù),所以用此變量代替!

while(count 5){ //猴子開(kāi)是分桃子了!

if(sum2%5 == 1){ //如果桃子總數(shù)除以5余1說(shuō)明此桃子總數(shù)符合分桃方案(sum2%5 == 1)

sum2 -= 1; //因?yàn)樘易颖缓镒尤拥粢粋€(gè),所以要減1

sum2 -= sum2/5; //又因?yàn)樘易颖黄骄譃榱?份并且被猴子拿走了1份,所以要減1/5

index++; //如果符合分桃方案就將計(jì)數(shù)器加1

}

if(index == 5){ //如果計(jì)數(shù)器等于5,也就是桃子的總數(shù)在符合分桃方案(sum2%5 == 1)的前提下分可5次的話!說(shuō)明此桃子總數(shù)是符合條件的最小整數(shù)!

System.out.println("最少有 " + sum1 + " 個(gè)桃子!");

flag = false;//關(guān)閉外層循環(huán);

break; //跳出內(nèi)層循環(huán);

}

count++; //5個(gè)猴子分桃子嘛!第一個(gè)分完了,當(dāng)然該輪到第二個(gè)了??!所以要遞增!

}

sum1 += 5; //桃子的總數(shù)只有每次遞增5才可以符合分桃方案(sum2%5 == 1)!

}

}

不好意思啊,由于剛才比較趕時(shí)間,沒(méi)好好寫!

這回你再看看!! 如果還有哪里不清楚的話就問(wèn)我好了!!

java海灘上有一堆桃子,五只猴子來(lái)分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個(gè)

public class MonkeyTest {

public static void main(String[] args) {

int sum=0;

int cnt=0;

outer:

for(int i=6;i10000;i++){

sum=i;

cnt=0;

for(int j=0;j5;j++){

if(sum%5==1){

sum=sum-((sum/5)+1);

cnt++;

if(cnt==5){

System.out.println(i);

break outer;

}

}else{

break;

}

}

}

}

}

/*

run:

3121

成功生成(總時(shí)間:0 秒)

分析:

624*5+1=3121

499*5+1=2497

399*5+1=1997

319*5+1=1597

255*5+1=1276

*/


當(dāng)前題目:java猴子分桃代碼,猴子吃桃子java
鏈接地址:http://fisionsoft.com.cn/article/hegjde.html