程式設計思維與實踐 Week11 作業

2021-10-05 16:15:29 字數 2251 閱讀 3687

蒜頭君從現在開始工作,年薪 n 萬。他希望在蒜廠附近買一套 60 平公尺的房子,現在**是 200 萬。假設房子**以每年百分之 k 增長,並且蒜頭君未來年薪不變,且不吃不喝,不用交稅,每年所得 n 萬全都積攢起來,問第幾年能夠買下這套房子?(第一年年薪 n 萬,房價 200 萬)

輸入格式

一行,包含兩個正整數

n(10≤n≤50),k(1≤k≤20),中間用單個空格隔開。

輸出格式

如果在第

20 年或者之前就能買下這套房子,則輸出乙個整數 m,表示最早需要在第 m 年能買下;否則輸出"impossible"。

輸出時每行末尾的多餘空格,不影響答案正確性

樣例輸入

50 10

樣例輸出

8最直接的思路:當積攢的年數小於20或者年薪大於房子每年增加的**時繼續積攢,當積攢大於房價時輸出積攢年數,否則輸出「imposible」。直接看**:

觀察:1 2 3  7 4 1

4 5 6  8 5 2

7 8 9  9 6 3

右邊由左邊順時鐘旋轉90度得到,如果他們分別代表a、b,我們是否只要找到其中的對應關係,就可以不變化a,直接按照特定方式將a與b相比較,就可以判斷是否能將a順時鐘變化得到b。

#include

using

namespace std;

int n,a[30]

[30],b[30]

[30];

bool

zd1()}

}return

true;}

bool

zd2()}

}return

true;}

bool

zd3()}

}return

true;}

boolzd(

int i)

return

false;}

intmain()

}for

(int i=

1;i<=n;i++)}

if(e==

1) cout<<

0<

//判斷a與b初始時是否相等

;//其他字元的處理

程式設計思維與實踐 Week11作業E

即為多重揹包問題,其中要取得錢即為揹包得容量,每種面額的紙幣即為一種物品,其中每種面額的紙幣的數量即為這種物品的數量,在此題中,取得的錢的數量同時為物品的總價值和總重量。在經過這樣的轉化後,即可用多重揹包來求解,多重揹包可以通過拆分來減少複雜度。include include include inc...

Week11作業 A 必做題 11

題目 蒜頭君從現在開始工作,年薪 n 萬。他希望在蒜廠附近買一套 60 平公尺的房子,現在 是 200 萬。假設房子 以每年百分之 k 增長,並且蒜頭君未來年薪不變,且不吃不喝,不用交稅,每年所得 n萬全都積攢起來,問第幾年能夠買下這套房子?第一年年薪 n 萬,房價 200 萬 輸入格式 一行,包含...

程式設計思維與實踐 Week2 作業

b題 倒水問題 bfs 東東有一張地圖,想通過地圖找到妹紙。地圖顯示,0表示可以走,1表示不可以走,左上角是入口,右下角是妹紙,這兩個位置保證為0。既然已經知道了地圖,那麼東東找到妹紙就不難了,請你編乙個程式,寫出東東找到妹紙的最短路線。input 輸入是乙個5 5的二維陣列,僅由0 1兩數字組成,...