分两种情况处理:
times为7的倍数,conclude为包含7的但不是7的倍数情况。
#include<iostream>
using namespace std;
int main()
{
unsigned int n;
cin>>n;
int conclude=0,times=0;
int temp;
for(int i=1;i<=n;++i)
{
if (i%7==0)
times++;
else
{
temp=i;
while(temp)
{
if(temp%10==7)
{
conclude++;
break;
}
else
temp=temp/10;
}
}
}
cout<<conclude+times<<endl;
//system("pause");
return 0;
}