![B3756 [信息与未来 2021] 幸运数字题解](http://pic.xiahunao.cn/yaotu/B3756 [信息与未来 2021] 幸运数字题解)
# B3756 [信息与未来 2021] 幸运数字## 题目描述如果一个正整数 $n$ 在五进制、七进制、九进制的表示下都没有数字 $0$我们就称 $n$ 是幸运数字。例如- $(987)_{10}(12422)_5(2610)_7(1316)_9$因此 $n987$ 不是幸运数字。- $(988)_{10}(12423)_5(2611)_7(1317)_9$因此 $n988$ 是幸运数字。写程序求出 $a,a1,a2,\cdots,b$ 之间一共有多少个幸运数字。## 输入格式输入一行两个正整数 $a$ 和 $b$。## 输出格式输出一行表示 $a,a1,a2,\cdots,b$ 中幸运数字的个数。## 输入输出样例 #1### 输入 #1100 1000### 输出 #1203## 输入输出样例 #2### 输入 #2900 4096### 输出 #2389## 说明/提示对于 $40\%$ 的数据$1\leq a \leq b \leq 10^3$。对于 $100\%$ 的数据$1\leq a \leq b \leq 10^6$。本题原始满分为 $15\text{pts}$。——————————————————————————————————-————AC代码cpp# include bits/stdc.h# define ll long longusing namespace std;int c[105]{},c10,cnt0;bool f(int s,int n){while(s){c[c1]s%n;s/n;}bool f1;for(int i1; ic1; i){if(c[i]0) f0;}c10;memset(c,0,sizeof(c));if(f) return 1;else return 0;}int main(){int l,r;cin lr;for(int il; ir; i){bool f10;if(f(i,5) f(i,7) f(i,9)){cnt;}}cout cnt;return 0;}————————————————————————————————————————干货memset 初始化 数组数量sizeof(数组)————————————————————————————————————————分步1.定义cppint c[105]{},c10,cnt0;cppint l,r;2.输入cppcin lr;3.进制转换判断本体核心要去转成5,7,9进制重点cppfor(int il; ir; i){bool f10;if(f(i,5) f(i,7) f(i,9)){cnt;}}cppbool f(int s,int n){while(s){c[c1]s%n;s/n;}bool f1;for(int i1; ic1; i){if(c[i]0) f0;}c10;memset(c,0,sizeof(c));if(f) return 1;else return 0;}4.输出cppcout cnt;