Test Message

a058: MOD3

內容

相信判斷一個數除以三的餘數是多少,對你來說應該沒有問題。那,如果一次請你判斷很多個數呢嘿嘿?給你 n 個數字,請你輸出 3k、3k+1、3k+2 的數各有幾個


輸入

第一行有一個正整數 n,代表接下來有幾個數字,
接著有 n 個介於 1 到 50000 之間的數字,請你做判斷

5
1
2
3
4
5

輸出

輸出三個數字(以空白隔開),
分別為 n 個數字中,三的倍數、三的倍數+1、三的倍數+2 的數量

1 2 2


解題思路

開一個陣列,之後每個輸入取餘完,餘 0 就丟第 0 項、餘 1 丟 1、餘 2 丟 2,最後依序輸出陣列 0~2 項。


完整程式碼

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

int n , m;

int main()
{
while (scanf(" %d", &n) == 1)
{
int rem[3] = { 0 };
while (n--)
{
scanf(" %d", &m);
rem[m % 3]++;
}
printf("%d %d %d\n", rem[0], rem[1], rem[2]);
}
return 0;
}