超级幸运数 题目描述: 乐乐有两个幸运数字,分别是 4 和 7。如果一个整数满足以下两个条件中的任意一个,乐乐就会称其为超级幸运数。条件如下: 1)整数中各数位上的数字都是幸运数字,例如 4、47、444; 2)整数中数位上所包含的所有幸运数字的总数是幸运数字,例如 414177(其中包含了 2 个 4 和 2 个7,共有 4 个幸运数字)。 给定 n 个整数,请判断其中有多少个超级幸运数。 例如:n = 3,3 个整数分别为 74、417、40444444; 整数 74 是超级幸运数,因为数位上的 7 和 4 都是幸运数字,满足条件 1; 整数 417 不是超级幸运数,因为数位中 1 不是幸运数字,不满足条件 1,且数位中幸运数字的总数是 2, 2 不是幸运数字,不满足条件 2; 整数 40444444 是超级幸运数,因为 40444444 的数位中幸运数字的总数是 7,7 是幸运数字,满足条件 2; 综上所述,共有 2 个超级幸运数。 输入描述: 第一行输入一个整数 n(1≤n≤1000); 第二行输入 n 个整数(1≤整数≤109),整数之间以一个空格隔开。 输出描述: 输出一个整数,表示超级幸运数的数量。 样例输入: 3 74 417 40444444 样例输出: 2
正确答案:参考程序(Python):n=int(input());a=list(map(int,input().split()));cnt=0;for x in a:s=str(x);if all(c in '47' for c in s):cnt+=1;elif s.count('4')+s.count('7') in (4,7):cnt+=1;print(cnt)。样例→2。核心:超级幸运数判断。
试卷来源:202501(第16届)蓝桥杯C++编程青少组(选拔赛_中高级)真题