一.问题描述:小Q得到一个神奇的数列: 1, 12, 123,...12345678910,1234567891011...。并且小Q对于能否被3整除这个性质很感兴趣。小Q现在希望你能帮他计算一下从数列的第l个到第r个(包含端点)有多少个数可以被3整除。
二.解题思路:
序号---数字---能否被整除
1---1---不能
2---12---能
3---123---能
4---1234---不能
5---12345---能
6---123456---能
总结上面的规律可以发现,序号%3=1时,序号对应的数字是不能被3整除的;序号%3=2时,序号对应的数字是能被3整除的;序号%3=0时,序号对应的数字可以被3整除。
三.代码:
#include<iostream>
using namespace std;
int main()
{
int l,r;
cin>>l>>r;
int cnt=0;
for(int i=l;i<=r;i++)
{
switch(i%3)
{
case 1:;break;
case 2:cnt++;break;
case 0:cnt++;break;
}
}
cout<<cnt<<endl;
return 0;
}
结果: