溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

藍(lán)橋杯競賽題目:”機(jī)器人繁殖“解析及題解

發(fā)布時(shí)間:2020-08-09 03:46:46 來源:ITPUB博客 閱讀:300 作者:山有木xi 欄目:編程語言

標(biāo)題:機(jī)器人繁殖
X星系的機(jī)器人可以自動(dòng)復(fù)制自己。它們用1年的時(shí)間可以復(fù)制出2個(gè)自己,然后就失去復(fù)制能力。
每年X星系都會(huì)選出1個(gè)新出生的機(jī)器人發(fā)往太空。也就是說,如果X星系原有機(jī)器人5個(gè),
1年后總數(shù)是:5 + 9 = 14
2年后總數(shù)是:5 + 9 + 17 = 31
如果已經(jīng)探測經(jīng)過n年后的機(jī)器人總數(shù)s,你能算出最初有多少機(jī)器人嗎?
數(shù)據(jù)格式:
輸入一行兩個(gè)數(shù)字n和s,用空格分開,含義如上。n不大于100,s位數(shù)不超過50位。
要求輸出一行,一個(gè)整數(shù),表示最初有機(jī)器人多少個(gè)。
例如:
用戶輸入:
2 31
則程序應(yīng)該輸出:
5
再例如:
用戶輸入:
97 2218388550399401452619230609499
則程序應(yīng)該輸出:
8
資源約定:
峰值內(nèi)存消耗 < 512M
CPU消耗  < 1000ms

請(qǐng)嚴(yán)格按要求輸出,不要畫蛇添足地打印類似:“請(qǐng)您輸入...” 的多余內(nèi)容。
所有代碼放在同一個(gè)源文件中,調(diào)試通過后,拷貝提交該源碼。
注意: main函數(shù)需要返回0
注意: 只使用ANSI C/ANSI C++ 標(biāo)準(zhǔn),不要調(diào)用依賴于編譯環(huán)境或操作系統(tǒng)的特殊函數(shù)。
注意: 所有依賴的函數(shù)必須明確地在源文件中 #include <xxx>, 不能通過工程設(shè)置而省略常用頭文件。
提交時(shí),注意選擇所期望的編譯器類型。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

這類算法題目,看起來不難,但是實(shí)際編程時(shí),會(huì)發(fā)現(xiàn)容易被卡住,有些地方跳不出去

那么,接下來,我會(huì)為各位解釋這類題目的幾種算法

第一種:找規(guī)律

其實(shí)規(guī)律不難找出

藍(lán)橋杯競賽題目:”機(jī)器人繁殖“解析及題解

可以看出來,按照這個(gè)規(guī)律慢慢推算就可以得出答案

藍(lán)橋杯競賽題目:”機(jī)器人繁殖“解析及題解

接下來把公式用代碼寫出即可。

第二種:簡單粗暴法

因?yàn)轭}目給出的是,N年和S個(gè)機(jī)器人,求的是最初的機(jī)器人個(gè)數(shù)

而在C語言中,while()循環(huán)中,當(dāng)括號(hào)里面的數(shù)字為0時(shí)默認(rèn)跳出循環(huán)

那么就可以把1~n/2中間的數(shù)字都代進(jìn)去試一遍,看看誰符合條件

為什么是n/2呢,因?yàn)轭}目要求S要小于50位數(shù),而直接代入n會(huì)導(dǎo)致數(shù)字太大

接下來就可以,用for循環(huán)逐個(gè)代入1~n然后用while來循環(huán)選出符合條件的數(shù)字,找到以后用break跳出。

藍(lán)橋杯競賽題目:”機(jī)器人繁殖“解析及題解

第三種:遞歸法

思路同上,只不過代碼更短更簡潔。


最后,其實(shí)算法類的題目做起來很有意思,解題的過程會(huì)枯燥,會(huì)無趣,但是坐在那里一個(gè)下午,一個(gè)晚上,一個(gè)周末解出題目后的快感,也是酣暢淋漓的。




向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI