# Iteration# Simple Math

d490 - 我也愛偶數

🔗 前往 ZeroJudge 原題

題目描述

題目要求計算給定範圍 [a, b] (包含 ab) 內所有偶數的總和。

解題思路

題目描述簡單明瞭,只需要遍歷從 ab 的所有整數,判斷是否為偶數,如果是偶數則累加到總和中。由於題目範圍較小,直接使用迴圈即可高效解決。程式碼中,迴圈直接從 a 開始,如果當前數字是偶數,則將其加到 total 中,並且將 a 增加 2,跳過下一個奇數,以提高效率。

複雜度分析

  • 時間複雜度: O(n),其中 n 是 b - a + 1。最壞情況下,需要遍歷整個範圍。
  • 空間複雜度: O(1),只使用了常數級別的額外空間。

程式碼

#include <stdio.h>
int main(){
	int a,b,total;
	scanf("%d%d", &a,&b);
	for(a=a,total=0;a<=b;a++){
		if(a%2==0){
			total=total+a;
			a++;
		}
	}
	printf("%d\n", total);
	return 0;
}

Discussion