題目連結: https://zerojudge.tw/ShowProblem?problemid=a215
# 內容
明明是一個愛數(ㄕㄨˇ)數(ㄕㄨˋ)的好學生,這天媽媽叫他從 n 開始數,下一個數字是 n+1,再下一個數字是 n+2,以此類推。媽媽想知道,明明數了幾個數字之後,他數過的這些數字的總和會超過 m。請幫助明明的媽媽吧。
# 輸入
輸入以 EOF 結束。每一筆測試資料有兩個數字,分別為 n 和 m,其中 m-n 不會超過 105。
# 輸出
輸出如題目敘述。
例 1 輸入:1 、 5 ,輸出 : 3 -->1+2+3= 6 > 5
例 2 輸入:5 、10, 輸出: 2 --> 5+6 = 11 > 10
# 解題思路
從第一項 (自己本身) 開始,每次皆加上下一個數 (n + 項數),並檢測是否超過 m,若超過則輸出並跳出迴圈。
# 程式碼
#include <iostream> | |
using namespace std; | |
int main(){ | |
int n,m; | |
while(cin>>n>>m){ | |
int sum = 0; | |
for(int i =0; ;i++){ | |
sum += n+i; | |
if(sum > m){ | |
cout<<i+1<<endl; | |
break; | |
} | |
} | |
} | |
} |