OpenJudge NOI 1.5 16:买房子
生活随笔
收集整理的這篇文章主要介紹了
OpenJudge NOI 1.5 16:买房子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目鏈接】
OpenJudge NOI 1.5 16:買房子
【題目考點】
1. 循環求冪
- 設變量r初始值為1:int r = 1;
- 循環n次每次循環中輸入變量a,將r的值設為r*a:r *= a;
- 循環結束后,r即為ana^nan
【解題思路】
已知每年年薪nnn萬,房價每年上漲k/100k / 100k/100
第一年存款nnn萬,房價200200200萬
第二年存款2n2n2n萬,房價200(1+k/100)200(1 + k / 100)200(1+k/100)萬
第三年存款3n3n3n萬,房價200(1+k/100)2200(1 + k / 100)^2200(1+k/100)2萬
…
第x年存款x?nx\cdot nx?n萬,房價200(1+k/100)x?1200(1 + k / 100)^{x-1}200(1+k/100)x?1萬
判斷這兩個值,如果存款大于等于房價,說明買得起,輸出年份。如果年數x大于20,那么即為買不起。
【題解代碼】
解法1:
#include <bits/stdc++.h> using namespace std; int main() {int n, k;cin>>n>>k;double deposit = n, price = 200;//deposit:存款,price:房價for(int i = 1; i <= 20; ++i)//i:現在是第幾年{if(deposit >= price)//如果存款比房價高或相等{cout<<i<<endl;//輸出此時的年數,return 0;//程序結束}deposit += n;//存款增加nprice *= 1 + double(k) / 100;//房價增長} cout<<"Impossible";//如果沒在循環內return,那么一定是到20年還沒買上房子,輸出“不可能”return 0; }總結
以上是生活随笔為你收集整理的OpenJudge NOI 1.5 16:买房子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1139:整理药名)
- 下一篇: 信息学奥赛一本通(1224:最大子矩阵)