Description
There is sequence 1, 12, 123, 1234, ..., 12345678910, ... . Given first N elements of that sequence. You must determine amount of numbers in it that are divisible by 3.
Input
Input contains N (1<=N<=231 - 1).
Output
Write answer to the output.
Sample Input
4
Sample Output
2
HINT
找规律 一开始暴力超时
项数N 数列 除以3的余数 答案ans1 1 1 0
2 12 0 1
3 123 0 2
4 1234 1 2
5 12345 0 3
6 123456 0 4
7 1234567 1 4
8 12345678 0 5
9 123456789 0 6
/*#include<stdio.h>
#include<string.h>
int main()
{
char a[10000];
long long n;
while(scanf("%lld",&n)!=EOF)
{
int i,j=1;
long long count=0;
a[0]=1;
for(i=1;i<n;i++)
{
a[j]=a[j-1]*10+i+1;
j++;
}
for(j=0;j<n;j++)
{
if(a[j]%3==0)
count++;
}
printf("%lld\n",count);
}
return 0; //暴力算法,但是考虑到N的数据范围比较大,这并不是一个非常好的选择。
} */
#include<stdio.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int count=0;
count=n/3*2;
if(n%3==2)
count++;
printf("%d\n",count);
}
return 0;
}