题目
现代人对数字越来越讲究,都喜欢含有8的数字。现要你编程计算a至b之间的含有数字8的数的个数(比如181,88,8,28这些数都含有数字8,而21,45,49等没有含有数字8)。
输入格式
在一行中输入两个正整数a和b,用一个空格隔开。0<a<=b<100000。
输出格式
输出a和b之间含有8的数的个数。包括a和b。
输入样例
1 30
输出样例
3
代码
#include <iostream>
using namespace std;
int solve(int x)//判断这个数是否含有数字8
{
int k,i=0;
while(x>0)
{
k=x%10;
if(k==8)
{
i=1;//如果有一位数是含8的,就令i=1;
break;
}
else i=0;//如果每一位数都不含8,就令i=0;
x=x/10;
}
return i;//返回i的值
}
int main()
{
int a,b,num,i,sum=0;
cin>>a>>b;
for(i=a;i<=b;i++)//算a到b之间含8的数
{
num=solve(i);
sum+=num;
}
cout<<sum<<endl;
return 0;
}