java經(jīng)典50編程題(11-20)

1.有1234這四個數(shù)字,他們可以組成多少互補(bǔ)相同的三位數(shù)

分析過程:遍歷加邏輯判斷

示例代碼

圖片發(fā)自簡書App

運(yùn)行結(jié)果


圖片發(fā)自簡書App


反思拓展:還有更復(fù)雜的排序,怎么用選擇,直接面對過程做出來的?還是尋求像在數(shù)學(xué)做題時的思維,然后抽象為代碼,得出結(jié)果

12.企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(I)低于或等于10萬元時,獎金可提10%;利潤高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可可提成7.5%;20萬到40萬之間時,高于20萬元的部分,可提成5%;40萬到60萬之間時高于40萬元的部分,可提成3%;60萬到100萬之間時,高于60萬元的部分,可提成1.5%,高于100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當(dāng)月利潤,求應(yīng)發(fā)放獎金總數(shù)?

分析過程:這題我不想寫。

示例代碼

圖片發(fā)自簡書App

運(yùn)行結(jié)果

圖片發(fā)自簡書App

反思拓展:前幾天,手機(jī)壞了,電腦壞了,啥事也沒干,煩。

13.一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?

分析過程:遍歷,起點(diǎn)-100,終點(diǎn)表面上看上去是無窮大,實(shí)際上卻有限制。簡單的計算到就能得到結(jié)果156

示例代碼

圖片發(fā)自簡書App

運(yùn)行結(jié)果

圖片發(fā)自簡書App

反思拓展:我想到了另一種數(shù)學(xué)計算。

14.輸入某年某月某日,判斷這一天是這一年的第幾天?

分析過程:這里面,年份判斷是否閏年,一月一號是第一天,一月二號第二天,就是如此累加分析。switch選擇流程先學(xué)習(xí)一波。

示例代碼

圖片發(fā)自簡書App

運(yùn)行結(jié)果

圖片發(fā)自簡書App

反思拓展:這以后代碼越寫越長怎么辦?我怎么貼代碼?還是貼圖片嗎?要不要轉(zhuǎn)到pc端寫?

15.輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。

分析過程:第一個數(shù)與第二個數(shù)比較,得出較大數(shù),較大數(shù)與第三個數(shù)比較,得出最大數(shù),然后再將剩下兩個數(shù)比較,然后考慮次大數(shù)與第一個數(shù)情況,挺亂的,相比較冒泡排序,這種排很多數(shù)的情況,簡單,但說起來復(fù)雜。

示例代碼

圖片發(fā)自簡書App

運(yùn)行結(jié)果

圖片發(fā)自簡書App

反思拓展:沒有寫成冒泡排序,代碼冗余,這不是優(yōu)秀代碼。

16.輸出9*9口訣。

分析過程:循環(huán)嵌套,這可比爬蟲是循環(huán)遞歸嵌套簡單多了。

示例代碼

圖片發(fā)自簡書App

運(yùn)行結(jié)果

圖片發(fā)自簡書App

反思拓展:睡前隨便寫寫,簡單小時間段做簡單的事,充裕的時間想想復(fù)雜問題。

17.猴子吃桃問題:猴子第一天摘下若干個桃子,當(dāng)即吃了一半,還不癮,又多吃了一個 第二天早上又將剩下的桃子吃掉一半,又多吃了一個。以后每天早上都吃了前一天剩下 的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。

分析過程:按照數(shù)學(xué)計算,很容易找到每天剩余桃子的變化規(guī)律。但是抽象為編程語言,我的功底不能馬上想到。這個應(yīng)該算遞歸。反向遞歸應(yīng)該可以辦到。代碼實(shí)現(xiàn)用循環(huán)做。

示例代碼

圖片發(fā)自簡書App

運(yùn)行結(jié)果:1534

反思拓展:這樣的題目,算簡單不得了的了。

18.兩個乒乓球隊進(jìn)行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。

分析過程:這個算排序吧。a不與x比用代碼怎么表示?筆頭計算一下就出來了。

示例代碼

運(yùn)行結(jié)果

反思拓展:遍歷,一共九次,排除不符合條件的情況?,F(xiàn)在開始在電腦上寫。

19. 打印出如下圖案(菱形)

? ?*

? ?***

? *****

*******

? *****

? ?***

? ? *

分析過程:直接一個一個打印輸出。

示例代碼:

運(yùn)行結(jié)果

反思拓展:在for循環(huán)里面嵌套用三個并列的for,之間用println換行隔開即可。

20.有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的前20項之和。

分析過程:用斐波那契數(shù)列做分子分母求和。


示例代碼

運(yùn)行結(jié)果

反思拓展:java的除法和py的除法有點(diǎn)不同。int之間需要完全除盡的時候還需要將其中一個轉(zhuǎn)化為double類型。斐波那契數(shù)列之間數(shù)字關(guān)系就像交換兩個數(shù)而不能開辟另一個空間一樣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容