真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java代碼農(nóng)夫與牛 農(nóng)夫和牛牛是什么意思

誰(shuí)知道JAVA工程師面試的腦筋急轉(zhuǎn)彎,越多越好,要有答案的,謝謝~~!

1.有一個(gè)人的了一種很嚴(yán)重的疾病,醫(yī)生給他開(kāi)了兩種藥片,分別稱為 A 藥片和 B 藥片,每種分別為 4 片,每天必須吃兩次,每次必須吃 A 和 B 藥片各一片,出現(xiàn)錯(cuò)誤就會(huì)死掉,第一天,他正常吃藥,但是,第二天吃藥的時(shí)候,他不小心把藥片搞混了,這兩種藥片的外觀完全一樣,他也沒(méi)有別的辦法再獲取藥片,那么,他應(yīng)該怎么辦?

創(chuàng)新互聯(lián)是一家專業(yè)提供興文企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、H5場(chǎng)景定制、小程序制作等業(yè)務(wù)。10年已為興文眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

答案

把剩下的四片藥全部分開(kāi)成兩半,一半放一堆,另一半放另一堆,第二天每次吃其中一堆就行了

2.5000的階乘末尾有幾個(gè)0

答案:

1249個(gè)

因?yàn)橐粋€(gè)5的倍數(shù)產(chǎn)生一個(gè)零,25的倍數(shù)產(chǎn)生二個(gè)零

125的倍數(shù)產(chǎn)生三個(gè)零,625的倍數(shù)產(chǎn)生四個(gè)零

3025產(chǎn)生五個(gè)零,前面計(jì)算過(guò)的不說(shuō),都比前面的多產(chǎn)生一個(gè)零

5,10,15,...,5000 一共1000個(gè)

25,50,75,...,5000 共200個(gè)

125,250,...,5000 共40個(gè)

625,1250,...,5000 共8個(gè)

3125 只有1個(gè)

所以共有1249個(gè)零

3.一頭母牛在3—10歲的時(shí)候每年可以生一頭小牛,生公牛和母牛的比率是50%,在牛12歲的時(shí)候就送入屠宰場(chǎng)買了?,F(xiàn)在有一個(gè)農(nóng)夫有1頭1歲大的母牛,在母牛3歲的時(shí)候就送到附近的農(nóng)場(chǎng)去配種,請(qǐng)問(wèn)40年后這個(gè)農(nóng)夫可能會(huì)有多少頭牛,寫出相關(guān)的代碼或答題思路,最好用面向?qū)ο蟆?/p>

答案:

Java代碼

package com.polaris.test;

import java.util.*;

/**

* 問(wèn)題描述:

*

* 一頭母牛在3—10歲的時(shí)候每年可以生一頭小牛,生公牛和母牛的比率是50%,

* 在牛12歲的時(shí)候就送入屠宰場(chǎng)買了?,F(xiàn)在有一個(gè)農(nóng)夫有1頭1歲大的母牛,

* 在母牛3歲的時(shí)候就送到附近的農(nóng)場(chǎng)去配種,請(qǐng)問(wèn)40年后這個(gè)農(nóng)夫可能會(huì)有多少頭牛,

* 寫出相關(guān)的代碼或答題思路,最好用面向?qū)ο蟆?/p>

* @author polaris

* @version 1.0

*/

public class ComputeCattleNum {

// 保存所有母牛

private static ListCattle cows = new ArrayListCattle();

// 保存所有當(dāng)前農(nóng)夫擁有的牛

private static ListCattle cattles = new ArrayListCattle();

public static void main(String[] args) {

// 第一頭母牛

Cattle cow = new Cattle(0,3);

cows.add(cow);

// 40年

for(int i=0;i40;++i) {

// 大于等于12歲的牛送到屠宰場(chǎng)賣掉;同時(shí)每年,所有的牛

for(int j=0;jcattles.size();++j) {

Cattle temp = cattles.get(j);

if(temp.getDead()) {

cattles.remove(temp);

}

// 開(kāi)始只有一頭母豬,年齡不生長(zhǎng)

if(i0) {

cattles.get(j).grow();

}

}

// 母牛生小牛

for(int j=0;jcows.size();++j) {

Cattle calf = cows.get(j).bear();

if(calf!=null) {

if(calf.getSex()==0)

cows.add(calf);

cattles.add(calf);

}

}

}

System.out.println("40年后農(nóng)夫擁有" + cattles.size() + "頭牛");

}

}

class Cattle {

// 牛的雌雄:0代表雌,1代表雄

private int sex;

// 牛的年齡

private int age;

// 是否賣掉(已死)

private boolean dead = false;

public Cattle(int sex, int age) {

this.sex = sex;

this.age = age;

}

/**

* 生小牛

* @return 生出的小牛

*/

public Cattle bear() {

Cattle calf = null;

if(this.sex==0) {

if(this.age=3 this.age=10) {

calf = new Cattle(random(),0);

} else {

//System.out.println("抱歉,此牛太小或太老,不能生育。");

}

} else {

//System.out.println("有沒(méi)有搞錯(cuò),公牛也想讓它生小牛?");

}

return calf;

}

private int random() {

return (int)Math.round(Math.random());

}

/**

* 長(zhǎng)大一歲,如果當(dāng)前大于等于12歲,則賣掉

*/

public void grow() {

if(this.age=12) dead = true;

else this.age++;

}

public int getSex() {

return this.sex;

}

public boolean getDead() {

return this.dead;

}

}

4.宴會(huì)桌旁

在某賓館的宴會(huì)廳里,有4位朋友正圍桌而坐,侃侃而談。他們用了中、英、法、日4種語(yǔ)言?,F(xiàn)已知:

A.甲、乙、丙各會(huì)兩種語(yǔ)言,丁只會(huì)一種語(yǔ)言;

B.有一種語(yǔ)言4人中有3人都會(huì);

C.甲會(huì)日語(yǔ),丁不會(huì)日語(yǔ),乙不會(huì)英語(yǔ);

D. 甲與丙、丙與丁不能直接交談,乙與丙可以直接交談;

E. 沒(méi)有人既會(huì)日語(yǔ),又會(huì)法語(yǔ)。

請(qǐng)問(wèn):甲乙丙丁各會(huì)什么語(yǔ)言?

答案:

第一題正解

甲:中日

乙:中法

丙:英法

?。褐?/p>

5.借機(jī)發(fā)財(cái)

從前有A、B兩個(gè)相鄰的國(guó)家,它們的關(guān)系很好,不但互相之間貿(mào)易交往頻繁,貨幣可以通用,匯率也相同。也就是說(shuō)A國(guó)的100元等于B國(guó)的100 元??墒莾蓢?guó)關(guān)系因?yàn)橐淮问录屏蚜?,雖然貿(mào)易往來(lái)仍然繼續(xù),但兩國(guó)國(guó)王卻互相宣布對(duì)方貨幣的100元只能兌換本國(guó)貨幣的90元。有一個(gè)聰明人,他手里 只有A國(guó)的100元鈔票,卻借機(jī)撈了一大把,發(fā)了一筆橫財(cái)。請(qǐng)你想一想,這個(gè)聰明人是怎樣從中發(fā)財(cái)?shù)模?/p>

答案:

拿著A國(guó)100在A國(guó)換好B國(guó)的錢,然后再拿著換好的B國(guó)的錢去B國(guó)換A國(guó)的錢

如此循環(huán)

6.快馬加鞭

墨西哥農(nóng)村現(xiàn)在仍然可以看到人們用馬和驢運(yùn)載貨物。一位商人把四匹馬從甲村拉到乙村,而從甲村到乙村,A馬要花一小時(shí),B馬要花兩小時(shí),C馬要花四小時(shí),D馬要花五小時(shí)。

這位商人一次只能拉兩匹馬,回來(lái)時(shí)他還要騎一匹馬,其中以走得慢的那匹馬作為從甲村拉到乙村所需的時(shí)間。聽(tīng)說(shuō)有人花了12小時(shí)就把四匹馬全部從甲村拉到乙村,請(qǐng)問(wèn):他是如何辦到的?

答案:

AB一起過(guò)B回來(lái) 4小時(shí)

CD 一起過(guò)A回來(lái) 6小時(shí)

AB 一起過(guò) 2小時(shí)

一共12小時(shí)

7.擊鼠標(biāo)

擊鼠標(biāo)比賽現(xiàn)在開(kāi)始!參賽者有拉爾夫、威利和保羅。

拉爾夫10秒鐘能擊10下鼠標(biāo);威利20秒鐘能擊20下鼠標(biāo);保羅5秒鐘能擊5下鼠標(biāo)。以上各人所用的時(shí)間是這樣計(jì)算的;從第一擊開(kāi)始,到最后一擊結(jié)束。

他們是否打平手?如果不是,誰(shuí)最先擊完40下鼠標(biāo)?

答案:

拉爾夫

一個(gè)加速然后減速的過(guò)程。三個(gè)人平均速度相等。達(dá)到平均速度時(shí)間在中間的人可能性最大。

8.感覺(jué)

用第一感覺(jué)判斷8+8=91這個(gè)等式正確嗎?說(shuō)明理由。

答案:

不正確。8+8=16

9.謊話

如果下列每個(gè)人說(shuō)的話都是假話,那么是誰(shuí)打碎了花瓶?

夏克:吉姆打碎了花瓶。

湯姆:夏克會(huì)告訴你誰(shuí)打碎了花瓶。

埃普爾:湯姆,夏克和我不太可能打碎花瓶。

克力斯:我沒(méi)打碎花瓶。

艾力克:夏克打碎了花瓶,所以湯姆和埃普爾不太可能打碎花瓶。

吉姆:我打碎了花瓶,湯姆是無(wú)辜的。

答案:克力斯。吉姆的話有兩個(gè)條件,只要一個(gè)為false就為false。

10.大有作為

魯?shù)婪?、菲利普、羅伯特三位青年,一個(gè)當(dāng)了歌手,一個(gè)考上大學(xué),一個(gè)加入美軍陸戰(zhàn)隊(duì),個(gè)個(gè)未來(lái)都大有作為?,F(xiàn)已知:

A. 羅伯特的年齡比戰(zhàn)士的大;

B. 大學(xué)生的年齡比菲利普??;

C. 魯?shù)婪虻哪挲g和大學(xué)生的年齡不一樣。

請(qǐng)問(wèn):三個(gè)人中誰(shuí)是歌手?誰(shuí)是大學(xué)生?誰(shuí)是士兵?

歌手 大學(xué) 美軍陸戰(zhàn)隊(duì)

魯?shù)婪? X true

菲利普 true X X

羅伯特 true X

由A B=》羅伯特比菲利普小比戰(zhàn)士大。所以菲利普不是戰(zhàn)士

11.麻省理工大學(xué)的學(xué)生

美國(guó)麻省理大學(xué)的學(xué)生來(lái)自不同國(guó)家。

大衛(wèi)、比利、特德三名學(xué)生,一個(gè)是法國(guó)人,一個(gè)是日本人,一個(gè)是美國(guó)人?,F(xiàn)已知:

1、 大衛(wèi)不喜歡面條,特德不喜歡漢堡包;

2、 喜歡面條的不是法國(guó)人;

3、 喜歡漢堡包的是日本人;

4、 比利不是美國(guó)人。

請(qǐng)推測(cè)出這三名留學(xué)生分別來(lái)自哪些國(guó)家?

答案:

法國(guó)人 日本人 美國(guó)人

大衛(wèi) true X

比利 true X

特德 X true

喜歡漢堡的是日本人,特德不喜歡漢堡=》特德不是日本人

喜歡漢堡的是日本人,所以喜歡面條的可暫假設(shè)也不是日本人=》美國(guó)人喜歡面條,大衛(wèi)不喜歡面條=》大衛(wèi)也不是美國(guó)人。所以特德是美國(guó)人

喜歡面條的不是法國(guó)人可暫假設(shè)不喜歡面條的是法國(guó)人=》大衛(wèi)是法國(guó)人

所以=》 比利時(shí)日本人

然后在那上面假設(shè)的結(jié)果挨個(gè)判斷原題條件。每個(gè)條件都符合。所以以上假設(shè)成立。

如需更多(包括各種面經(jīng),筆經(jīng))加我QQ:719116861。注明java!

JAVA編程的邏輯題,大神幫下!謝謝

方法一:

import java.util.ArrayList;

import java.util.List;

public class test10 {

// 解題思路:先帶走貓,后帶走狗,再把貓帶回,把魚帶過(guò)去,最后再把貓帶過(guò)去即可

// 定義兩個(gè)集合,存放,帶過(guò)去的動(dòng)物,和剩下的動(dòng)物

static ListString there = new ArrayListString();

static ListString here = new ArrayListString();

public static void main(String[] args) {

here.add("cat");

here.add("dog");

here.add("fish");

test10 test10 = new test10();

test10.take();

}

// 判斷動(dòng)物是否安全

public boolean isSafty(ListString list) {

// 如果一個(gè)集合中同時(shí)出現(xiàn)了貓和狗,貓和魚的都認(rèn)為不安全

if (list.add("dog") list.add("cat") || list.add("cat")

list.add("fish")) {

return false;

}

return true;

}

public void take() {

// 得到要帶走的動(dòng)物

String anim = here.get(0);

// 從剩下的集合中刪除

here.remove(here.get(0));

if (anim.equals("cat")) {

// 添加到以帶過(guò)去的集合里面

there.add(anim);

// 繼續(xù)帶下一個(gè)動(dòng)物

if (here.isEmpty()) {

System.out.println();

System.out.println("最后在把" + anim + "帶走了");

return;

} else {

System.out.println("帶走了" + anim);

System.out.print("剩下:");

for (String s : here) {

System.out.print(s + " ");

}

System.out.println();

System.out.println("----------------------------");

take();

}

} else if (anim.equals("dog")) {

there.add(anim);

System.out.println("然后把" + anim + "帶走");

// 判斷是否安全,之后繼續(xù)帶下一個(gè)動(dòng)物

if (isSafty(there)) {

take();

} else {

String animal = there.get(0);

there.remove(animal);

here.add(animal);

System.out.println("然后把" + animal + "帶回");

// 繼續(xù)帶下一個(gè)動(dòng)物

take();

}

} else if (anim.equals("fish")) {

System.out.print("之后把" + anim + "帶走");

take();

}

}

}

方法二:

import java.util.ArrayList;

import java.util.Random;

/*

* 需求:

* 一位老農(nóng)帶著貓、狗、魚過(guò)河,河邊有一條船,每次老農(nóng)只能帶一只動(dòng)物過(guò)河。

* 當(dāng)老農(nóng)不和貓狗魚在一起時(shí),狗會(huì)咬貓,貓會(huì)吃魚,當(dāng)老農(nóng)和貓狗魚在一起時(shí),則不會(huì)發(fā)生這種問(wèn)題。

* 編程解決貓狗魚過(guò)河問(wèn)題。

* 分析:

* 定義貓,狗,魚元素.定義兩岸集合.定義方法判斷不和諧狀況.

* 步驟:

* 1.將貓狗魚抽象為三個(gè)String型變量.將兩岸抽象為兩個(gè)集合.

* 2.定義判斷是否和諧方法.

* */

public class Test10 {

public static void main(String[] args) {

//開(kāi)始過(guò)河.

doTransport();

}

public static void doTransport() {

// 抽象出貓,魚,狗和兩岸.

ArrayListString arr1 = new ArrayListString();

ArrayListString arr2 = new ArrayListString();

arr1.add("魚");

arr1.add("貓");

arr1.add("狗");

// 農(nóng)夫?qū)⒁獢y帶到船上動(dòng)物.(前一字符表示農(nóng)夫當(dāng)前攜帶動(dòng)物,后一字符表示上次農(nóng)夫攜帶的動(dòng)物,為了讓農(nóng)夫不出現(xiàn)重復(fù)拿同一個(gè)動(dòng)物的情況)

System.out.println("農(nóng)夫,貓,魚,狗都在此岸,開(kāi)始過(guò)河.\n");

String[] boat ={"-","-"};

while (arr1.size() 0) {

move(arr1, arr2, boat);

}

System.out.println("\n農(nóng)夫,貓,魚,狗都到達(dá)彼岸.");

}

public static void move(ArrayListString arr1, ArrayListString arr2,String[] boat) {

//農(nóng)夫船上是否有動(dòng)物,有則不需隨機(jī)選擇攜帶.

if (boat[0].equals("-")) {

int one=0;

do{

// 農(nóng)夫從此岸隨機(jī)帶上一個(gè)動(dòng)物.

one = new Random().nextInt(arr1.size());

}while(arr1.get(one).equals(boat[1]));

boat[1]=boat[0];

boat[0] = arr1.get(one);

arr1.remove(one);

}

// 判斷此岸是否和諧

if (ifNice(arr1)) {

// 此岸和諧,農(nóng)夫則將動(dòng)物送去彼岸.

arr2.add(boat[0]);

System.out.println("---農(nóng)夫帶" + boat[0] + "去彼岸 ");

//首先判斷是否將三個(gè)動(dòng)物都放彼岸,是則無(wú)需判斷是否和諧.

if(arr2.size()==3){

return;

}

// 判斷彼岸是否和諧.

if (ifNice(arr2)) {

// 彼岸和諧,農(nóng)夫則完成此次運(yùn)送.

boat[1]=boat[0];

boat[0] ="-";

System.out.println(" 農(nóng)夫單獨(dú)回此岸---");

} else {

// 彼岸不和諧,農(nóng)夫則將岸上動(dòng)物與攜帶動(dòng)物交換.送回此岸.

boat[0]=arr2.get(0);

System.out.println(" 農(nóng)夫帶" +boat[0]+ "回此岸---");

arr2.remove(0);

arr1.add(boat[0]);

boat[1]=boat[0];

boat[0]="-";

}

} else {

// 如果此岸不和諧則放回此岸.

arr1.add(boat[0]);

boat[1]=boat[0];

boat[0]="-";

}

}

public static boolean ifNice(ArrayListString arr) {// 判斷是能否共存.

if ((arr.contains("貓") arr.contains("狗"))

|| (arr.contains("魚") arr.contains("貓"))) {

return false;

} else {

return true;

}

}

}

農(nóng)夫巧妙分牛

設(shè)農(nóng)夫一共留下了x頭牛,則他妻子分得的牛就有(x/2+1/2)頭;長(zhǎng)子分得的牛有[x-(x/2+1/2)]/2+1/2頭 ,化簡(jiǎn)以后為(x/4+1/4)頭;同理可得,次子分得的牛有(x/8+1/8)頭;長(zhǎng)女分得的牛有(x/16+1/16)頭。分出去的??倲?shù)應(yīng)等于農(nóng)夫一共留下的牛頭數(shù),因此可建立如下方程:(x/2+1/2)+(x/4+1/4)+(x/8+1/8)+(x/16+1/16)=x解得:x=15,即農(nóng)夫一共留下了15頭牛。

java版農(nóng)夫過(guò)河

先把羊帶過(guò)去

回去

把狼帶過(guò)去

把羊帶回去

把白菜帶過(guò)去

回去

把羊帶過(guò)去


新聞名稱:Java代碼農(nóng)夫與牛 農(nóng)夫和牛牛是什么意思
網(wǎng)站網(wǎng)址:http://weahome.cn/article/ddedgcp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部