題目:
(M90H010) 2^x個位數疊加 : 輸入一整數n,計算 21+22+23+24+...+2n之個位數。輸入:
90輸出:
6
#include <stdio.h>
int main(){
int index,i=1,sum=0;
scanf("%d",&index);
while(i<=index){
switch(i%4){
case 1:
sum+=2;
break;
case 2:
sum+=4;
break;
case 3:
sum+=8;
break;
default:
sum+=6;
}
i++;
}
printf("%d",sum%10);
return 0;
}
【初階建議】利用數學公式, 2^1 + .. 2^n = 2^(n+1) - 2 一個算式搞定,不用迴圈。
回覆刪除【進階建議】如果會使用位元位移算子(bit shift)那速度更是秒殺!