# Iteration# Basic Math

c022 - 10783 - Odd Sum

🔗 前往 ZeroJudge 原題

題目描述

題目要求計算給定範圍 [a, b] 內所有奇數的總和。輸入包含多組測試案例,每組案例提供一個範圍 ab,程式需要計算並輸出該範圍內奇數的和。

解題思路

解題思路非常直接。對於每組測試案例,程式遍歷從 ab 的所有整數。在遍歷過程中,檢查每個整數是否為奇數。如果是奇數,則將其加到總和中。最後,輸出每組測試案例的總和。

複雜度分析

  • 時間複雜度: O(n),其中 n 是 b - a + 1。因為程式需要遍歷從 a 到 b 的所有整數。
  • 空間複雜度: O(1),程式只使用了幾個整數變數來儲存中間結果,空間使用量不隨輸入大小變化。

程式碼

#include <iostream>
using namespace std;
int main(){
	int a,b,n;
	cin >> n;
	for(int i=1,sum=0;i<=n;i++,sum=0){
		cin >> a >> b;
		for(int j=a;j<=b;j++)
			if(j%2==1)
				sum+=j;
		cout << "Case " << i << ": " << sum << "\n";
	}
}

Discussion