黑马程序员技术交流社区
标题:
敲了点代码
[打印本页]
作者:
zlpiano
时间:
2015-7-9 23:04
标题:
敲了点代码
寻找这样一个九位数:包括数字1到9,前一位能被1整除,前两位能被2整除,依次类推,一直到前九位能被9整除,这个数是唯一的
class Demo
{
public static void main(String[] args)
{
new No(0).method();
}
}
class No
{
boolean[] a = new boolean[9];
int m=0;
int n=0;
int hehe=0;
public No(int hehe)
{
this.hehe=hehe;
}
public void method()
{
for(int i=0;i<9;i++)
{
a[i]=true;
}
m=hehe;
while(m!=0)
{
n=m%10;
m=m/10;
a[n-1]=false;
}
for(int i=0;i<9;i++)
{
if(a[i]==false)
continue;
m=hehe*10+i+1;
int u=num(m);
if(m%u==0 && u!=9)
{
//System.out.println("进入下一分支:"+m);
new No(m).method();
}
else if(m%u==0 && u==9)
{
System.out.println("找到一个数!!!!!!!!!!!!!!!!!!!!!!!!!!:"+m+"噢哈哈哈哈");
}
else
{
//System.out.println("丢弃这一分支:"+m);
}
}
}
public static int num(int k)
{
int count=0;
while(k!=0)
{
k=k/10;
count++;
}
return count;
}
}
复制代码
不知道有没有更简洁的方法
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2