能被3整除的数的各个位上的数的和都能被三整除
解题步骤:
1、求出前l个数中每个数的各个数位上的和;
2、然后求出l——r之间的所有神奇数字中能被3整除的数
#include <iostream>
#include <cstring>
#include <cstdio>
#include <cstdlib>
using namespace std;
/**整除3*/
void div3()
{
int l,r;
cin>>l>>r;
int sum=0,result=0;
for(int i=1;i<l;i++)
{
int j=i;
//int temp=0;
while(j)
{
result += j%10;
j = j/10;
}
}
for(int i=l;i<=r;i++)
{
int j=i;
//int temp=0;
while(j)
{
result += j%10;
j = j/10;
}
if(0 == result%3)
sum++;
}
cout<<sum<<endl;
}
int main()
{
div3();
return 0;
}