题目:输出7有关数字的个数,包括7的倍数,还有包含7的数字(如17,27,37...70,71,72,73...)的个数(一组测试用例里可能有多组数据,请注意处理)
#include<iostream>
using namespace std;
int main()
{
int num=0;
while(cin>>num)
{
int temp=0;
int count=0;
for(int i=7; i<=num; i++){
if(i%7==0)
count+=1;
else{
temp=i;
while(temp>0){
if(temp%10==7){
count+=1;
break;
}
else
temp = temp/10;
}
}
}
printf("%d\n", count);
}
return 0;
}
自己理解:
主要分两种情况,一种是能被7整除的,一种是含数字7的。第一种除7取余==0即可,第二种除10取余,判断余数是否==7,再除10取整,循环判断数字是否==7。