如何判断一个数是不是3的倍数呢? 除了直接除以3以外,我们还可以把各数位上的数字求和,如果和是3的倍数,那么该正整数就一定是3的倍数了。

c语言
思路是什么
如何判断一个数是不是3的倍数呢?

除了直接除以3以外,我们还可以把各数位上的数字求和,如果和是3的倍数,那么该正整数就一定是3的倍数了。

img

供参考:

#include <stdio.h>
#include <ctype.h>
int main()
{
    int n, i, sum;
    char s[1000];
    scanf("%d", &n);
    getchar();
    while (n--) 
    {
        i = 0; sum = 0;
        scanf("%s", s);
        while (s[i]) {
            if (isdigit(s[i])) sum += s[i] - '0';
            i++;
        }
        if (sum % 3 == 0)
            printf("Yes");
        else
            printf("No");
        if (n != 0) printf("\n");
    }
    return 0;
}