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;
    }
}

留言

這個網誌中的熱門文章

Zerojudge 基礎題庫a004 文文的求婚 (Python)

紙蜻蜓的受風面積與紙蜻蜓落地時間的關係 #1 [實驗歷程與Python Matplotlib]

Zerojudge 基礎題庫a013 羅馬數字 (Python)