题目描述
写程序无聊,玩个游戏,从1
开始喊数,数到含7
或者是7
的倍数的要拍键盘!
那么问题来了,请你:
输出7
和7
的倍数,还有包含7
的数字例如(17
,27
,37
,...
,70
,71
,72
,73
,...
)
输入
一个整数N
。(N
不大于30000
)
输出
统计出不大于N
的与7
有关的数字的个数。如20
以内与7
有关的数为7
、14
、17
共3
个。
样例输入
20
样例输出
3
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int count=0;
for(int i=1;i<=n;i++)
{
int m=i;
if(i%7==0)
{
count++;
continue;
}
while(m!=0)
{
if(m%10==7)
{
count++;
break;
}
m/=10;
}
}
cout<<count<<endl;
return 0;
}
对于数字7的倍数只需对其进行求余即可,但对于找数字内的7则可以依次分离出每一位,单独判断。