这道题让我体会到了封装一个函数的遍历性,可以让思路更加清晰.即使出现错误,梳理思路就可以直接检查函数,也就是检查这个问题的一部分,而这一部分也是相对独立的,相对于都在main函数下重新梳理一个套着一个的问题更加简洁.
解析:
定义一个布尔类型的函数,布尔函数的返回值也确定了ans是否++.
(我开始用嵌套循环写,ans++的条件就实现不出来)
code
#include<iostream>
using namespace std;
bool isHave(int i)
{
while(i)
{
if(i % 10 == 4)
return false;
i /= 10;
}
return true;
}
int main()
{
int ans=0;
for(int i = 10000;i <= 99999;i++)
{
if(isHave(i))
ans++;
}
cout << ans;
return 0;
}
答案
52488