#54366: C 解法


20175310arthur@gmail.com (陳睿宏)


#include <stdio.h>

int main(){

int a;
scanf("%d", &a);
printf("%d", ((a+2)/3);

return 0;
}

----------------------------

(a+2)/3的答案會跟(  (a+2)-((a+2)%3)  ) / 3一樣

在(  (a+2)-((a+2)%3)  ) / 3的a中帶入1, 2, 3, 4, 5, 6分別測試

a=1, 2, 3的答案會是1, a=4, 5, 6的答案會是2

而a+2的原因是避免1和2兩種情況除以三的商會是0而沒辦法單看商判斷組別號

不是+3的原因是(3+3)/3是2而不是想要的1

所以+2讓(1+2)/3剛好可以是1,同時(3+2)/3的商也是1