# Math# Arithmetic# Conditional Logic

d485 - 我愛偶數

🔗 前往 ZeroJudge 原題

題目描述

題目要求計算給定範圍 [a, b] (包含 ab) 內偶數的個數。需要注意的是,0 也是一個偶數。

解題思路

題目可以使用簡單的算術運算來解決。首先,計算範圍內整數的總數,然後根據 ab 的奇偶性來調整偶數的個數。如果 ab 都是偶數,或者 a 是偶數且 b 是奇數,則偶數的個數為 (b - a) / 2 + 1。如果 ab 都是奇數,則偶數的個數為 (b - a) / 2。如果 a 等於 ba 是偶數,則偶數的個數為 1。否則,偶數的個數為 0。

複雜度分析

  • 時間複雜度: O(1)
  • 空間複雜度: O(1)

程式碼

#include <stdio.h>
int main(){
	int a,b;
	while(scanf("%d%d",&a,&b)>0){
		if(a<b&&a%2==0||b%2==0)
			printf("%d\n",(b-a)/2+1);
		else if(a<b)
			printf("%d\n",(b-a)/2);
		else if(a==b&&a%2==0)
			printf("1\n");
		else
			printf("0\n");
	}
}

Discussion