信息学奥赛一本通 2022:【例4.7】最小n值
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通 2022:【例4.7】最小n值
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【題目鏈接】
ybt 2022:【例4.7】最小n值
【題目考點】
1. while循環
2. 求和
【解題思路】
設表示和的變量s,每次加一個數字1i\frac{1}{i}i1?
- 判斷此時s是否還小于m
- 如果小于m,繼續增加。
- 如果已經大于等于m,則跳出循環。此時s為1+12+13+...+1n≥m1+\frac{1}{2}+\frac{1}{3}+...+\frac{1}{n} \geq m1+21?+31?+...+n1?≥m。而在循環中,i的值在加1n\frac{1}{n}n1?后又增加了1,所以n=i?1n = i-1n=i?1。
- 注意:要做實數除法,相關變量必須設為浮點型
【題解代碼】
解法1:用while循環
#include<bits/stdc++.h> using namespace std; int main() {double m, s = 0, i = 1;//s:和 i:分母 cin >> m;while(s < m){s += 1 / i;i++; }cout << i - 1;return 0; }解法2:用for循環
#include<bits/stdc++.h> using namespace std; int main() {double m, s = 0, i;//s:和 i:分母 cin >> m;for(i = 1; s < m; ++i)s += 1 / i;cout << i - 1;return 0; } 新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
以上是生活随笔為你收集整理的信息学奥赛一本通 2022:【例4.7】最小n值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通(1202:Pell数列
- 下一篇: 信息学奥赛一本通 1090:含k个3的数