这道题让我体会到了封装一个函数的遍历性,可以让思路更加清晰.即使出现错误,梳理思路就可以直接检查函数,也就是检查这个问题的一部分,而这一部分也是相对独立的,相对于都在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