odd_sum_modified

mail@pastecode.io avatar
unknown
c_cpp
2 years ago
1.2 kB
3
Indexable
Never
#include<iostream>
using namespace std;

int main(){

long long T,a,b; //宣告T為函數的變數,a為起始數字,b為終止數字
long long sum=0; //宣告sum為a至b之間的奇數和
long long i=0; //i為計數變數,初始值為0

cin >> T;
// (1)原本寫i <= T,等號拿掉了
for(i=0;i<T;i++){ //當i<T,執行for迴圈

    cin >> a >> b; 
	
    if(a%2==0){ //若a除以二餘零(a為偶數)
        if(a==b){
            a=0;
            b = 0;  // (2) 要讓b一起等於0,否則執行第30行會很可怕
        }
            
        else
            a=a+1; //a從a+1(奇數)開始
    }
    
    else //若a除以二餘一(a為奇數)
        a=a; //a從a(奇數)開始
    
    sum=a;
    if(a!=b){
        // 問題:不知道a+2有沒有超過範圍。
        // while(a<b-1){ //當a<b,執行while迴圈
        while(a+2 <= b){ // (3)修正while內的範圍
            a=a+2;
            sum=sum+a;
        }

    }
    // (4)以下這行不需要,因為for迴圈括弧內的最後,會幫你把i加一
    // i=i+1; //計數用,程式每運算完一組數據,i值+1
    cout << "Case " << i+1 << ": " << sum << endl; // 4) 要顯示「現在的i值加一」
	}

return 0;
}