标签:
题意:中文题。
析:暴力先从1到1000000,然后输出就好了。
代码如下:
#include <iostream> #include <cstdio> #include <cstring> #include <map> #include <string> #include <queue> using namespace std; const int maxn = 1000000 + 10; int a[10], d[maxn]; bool judge(int n){ int j = 0; while(n){ a[j] = n % 10; n /= 10; if(4 == a[j++]) return false; } for(int i = 0; i < j; ++i) if(4 == a[i]) return false; else if(i && 2 == a[i-1] && 6 == a[i]) return false; return true; } int main(){ int n, m; for(int i = 1; i < 1000000; ++i) d[i] = judge(i) ? d[i-1] + 1 : d[i-1]; while(scanf("%d %d", &m, &n)){ if(!m && !n) break; printf("%d\n", d[n]-d[m-1]); } return 0; }
标签:
原文地址:http://www.cnblogs.com/dwtfukgv/p/5558367.html