SGU_105
看了别人的解题报告之后就恍然大悟了,我们不妨设第i项是a[i],另外补一个a[0]=0,于是有a[i]%3=(a[i-1]*10^x+i)%3=a[i-1]%3+i%3,然后我们再把i%3列成一个表就会发现是1,2,0,1,2,0…,这样的一个循环,于是我们就很容易发现每三项中的后两项能被三整除。
#include#include int N; int main() { while(scanf("%d", &N) == 1) printf("%d\n", (N - 1) / 3 * 2 + (N - 1) % 3); return 0; }