題目大意
給定 $n$ 和 $m$,問從 $n$ 開始數最少要數幾個數字使得這些數字的總和 $> m$。
- $m - n \leq 10^5$
題解
直接暴力從 $n$ 累加即可,大約會在數 $O(\sqrt{m})$ 個數字後總和 $> m$。需要特別注意輸入的 $n$ 和 $m$ 有可能為負數,因此我們用 do-while 來避免數 $0$ 個數字的 case。#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n, m;
while(cin >> n >> m) {
int sum = 0, ans = 0;
do {
ans++;
sum += n;
n++;
} while(sum <= m);
cout << ans << "\n";
}
return 0;
}
如果本文對您有幫助的話幫忙點擊廣告和分享吧!
© 若無特別註明,本站文章皆由 WeakMouse's Coding Blog 原創 ,轉載引用本文前請先留言告知。本文轉載請註明文章源自 WeakMouse's Coding Blog ,作者 ,並附上原文連結: 【題解】Zerojudge a215 - 明明愛數數
0 留言