Test Message

d124: 3的倍數

內容

20XX 年,pascal 語言有多了一種新的整型 int128。它能夠運算 10000 位的超大數據。

今天我們的任務就是:輸入一個類型為  int128  的數字 n (-10^10001<=n<=10^10001)。

判斷它是否為 3 的倍數。


輸入

輸入檔中有多個數據,每組數據佔一行,是輸入的數 n 。

3
-7
0

輸出

輸出 n 是否為 3 的倍數。

若是,輸出 yes ;若不是,輸出 no 。

yes
no
yes


解題思路

由於當一數的各位數字和為 3 的倍數時,該數即為 3 的倍數,所以將輸入的字元加總起來和 3 取餘即可。


完整程式碼

AC (2ms, 100KB)
#include <stdio.h>

char input[10010];

int main()
{
int sum;
while (scanf(" %s", input) == 1)
{
sum = 0;
for (int i = 0; input[i]; i++)
sum += input[i] - '0';
puts(sum % 3 ? "no" : "yes");
}
return 0;
}