有些人很迷信数字,比如带“4”的数字,认为和“死”谐音,就觉得不吉利。
虽然这些说法纯属无稽之谈,但有时还要迎合大众的需求。某抽奖活动的奖券号码是5位数(10000-99999),
要求其中不要出现带“4”的号码,主办单位请你计算一下,如果任何两张奖券不重号,最多可发出奖券多少张。
请提交该数字(一个整数),不要写任何多余的内容或说明性文字。
思路:5重循环,第一重为1-9,其余为0-9(这样就可以遍历10000到99999之间的全部数字),并且判断条件为每一个变量都不能为4。
结果:52488
public class Main {
static int s[]=new int [10];
static int num[]={0,1,2,3,4,5,6,7,8,9};
static int count=0;
public static void main(String args[]){
Dfs(0);
System.out.println(count);
}
private static void Dfs(int deep) {
if(deep==5){
if(s[0]==0)return;
for(int i=0;i<5;++i)
if(s[i]==4)return;
++count;
}else{
for(int i=0;i<10;++i){
s[deep]=num[i];
Dfs(deep+1);
}
}
}
}