2015年7月13日 星期一

[C][瘋狂程設[02_變數與型別] M90H010:2^x個位數疊加

題目:

(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;
}

1 則留言:

  1. 【初階建議】利用數學公式, 2^1 + .. 2^n = 2^(n+1) - 2 一個算式搞定,不用迴圈。

    【進階建議】如果會使用位元位移算子(bit shift)那速度更是秒殺!

    回覆刪除