Zerojudge 基礎題庫a215 明明愛數數
這題算簡單的,但有一個地方需要注意的:
----------------------------------------------------------------------
如果從1開始數,數到第幾次時超過0?
答案是1,不是0,因為他是數後才檢查是否有超過。
----------------------------------------------------------------------
你會覺得,恩,對啊,然後勒?
但你要知道,for迴圈是先檢查再執行程式區塊裡的內容的。
所以加一個if敘述再用for迴圈吧。
喔,還有,他沒有出一些很爛的題目(像是浮點數阿,blablabla。。。)
所以int,double之類的都可以使用。
超棒(短)程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #include <iostream> using namespace std; /* 1~... max5 1 = 1 1+2 = 3 1+2+3 = 6 */ int getAnswer(int n,int m){ if (n > m){ return 1; } int current = 0; int counter = 0; for (int i = n;current <= m;i++){ current += i; counter++; } return counter; } int main(){ int n; int m; while(cin >> n >> m){ cout << getAnswer(n,m) << endl; } } |
留言
張貼留言