给你一个正整数,请你判断它是不是3的倍数?
输入格式:
输入数据有一个T(T<=50),代表有T组数据
对于每组数据,一个整数n (1<=n<=101000) 注意数据范围
这个题需要知道一个数能被3整除的特殊性质,即每一位数字的和能够被3整除,该数字就能被3整除。
输出格式:
对于每组数据,输出一行“YES”或“NO”(不包括引号),代表这个数是或不是3的倍数
输入样例:
在这里给出一组输入。例如:
2
33332
123
输出样例:
在这里给出相应的输出。例如:
NO
YES
#include<stdio.h>
#include<string.h>
int main()
{
int number, t = 0, i, j = 0,sum;
int gen;
scanf("%d", &number);
for (t = 0; t < number; t++)
{
sum = 0;
scanf("%d", &gen);
for (j = 0; gen!=0; j++)
{
sum += gen % 10;
gen = gen / 10;
}
if (sum % 3 == 0)
{
printf("YES\n");
}
else
{
printf("NO\n");
}
}
return 0;
}
第一次写了上面的代码结果显示结果错误。
尝试用数组。成功。
#include <stdio.h>
#include <string.h>
int main()
{
int T, i, n, j, sum;
char M[10001];
scanf_s("%d", &T);
for (i = 1; i <= T; i++)
{
sum = 0;
scanf_s("%s", M);
n = strlen(M);
for (j = 0; j < n; j++)
{
sum = sum + M[j];
}
if (sum % 3 == 0)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}