一道简单题,一次通过。简单说下思路吧,受到1005题的启发,猜测这道题可能存在周期,那么先用常规代码,计算并打印100以内的结果,观察是否存在周期,发现周期为8,那么问题就简单化了,不需要计算所有结果,只需要利用周期。在周期内,余数为12022101,只有2、6位置上的数可以被3整除,问题解决完毕。
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main(int argc, char *argv[]) {
int n,i;
while(scanf("%d",&n)!=EOF)
{
i = n%8;
printf("%s\n",i==2||i==6?"yes":"no");
}
system("PAUSE");
return 0;
}