b877 - 我是電視迷
題目描述
題目要求計算從當前頻道切換到目標頻道所需的按鈕次數,電視共有 100 個頻道 (0-99),每次只能切換到下一個頻道。
解題思路
題目可以轉換為計算兩個頻道編號之間的差值。如果目標頻道編號大於當前頻道編號,則直接相減即可。如果目標頻道編號小於當前頻道編號,則需要考慮環繞的情況,計算從當前頻道到 99 再到目標頻道的距離,即 100 - 當前頻道 + 目標頻道。程式碼使用條件判斷式來處理這兩種情況。也可以使用算術運算符來簡化程式碼,避免使用 if 判斷式。
複雜度分析
- 時間複雜度: O(1)
- 空間複雜度: O(1)
程式碼
#include <stdio.h>
int main(){
int a,b;
while(scanf("%d%d",&a,&b)>0){
if(a>b)
printf("%d\n",100-a+b);
else
printf("%d\n",b-a);
}
}