告诉你什么是优雅的代码(10)----鬼斧神工
程序员文章站
2022-05-17 22:13:42
...
最近逛javaeye得出的体会就是现在的弟弟妹妹确实都很强。动不动都是看过大型框架源码,搞虚拟机,研究字节码。言必海量数据海量用户,高并发等话题。而我一头老鸟还在写些比肩hello world的小代码,真是深感汗颜。所以写完这篇这个系列就结束了。
正如这个系列的其他帖子一样,这篇东西也没有什么你可以获得快感的元素。看见标题的鬼斧神工了吗?不要误会,不是在形容我接下来要写的代码。上面已经说了,现在的弟弟妹妹很强。未来是你们的,也是我们的,但终究是你们的。所以当我浏览这个帖子http://www.iteye.com/topic/800013,看见那段惊为天人的代码时,我便对上面的话深信不疑。
闲话休提,来看下这段鬼斧神工的代码:
高效与精彩不用多表。
在此也贴上我一直所标榜为优雅的史上被隐藏最多的代码,以结束这个系列。
正如这个系列的其他帖子一样,这篇东西也没有什么你可以获得快感的元素。看见标题的鬼斧神工了吗?不要误会,不是在形容我接下来要写的代码。上面已经说了,现在的弟弟妹妹很强。未来是你们的,也是我们的,但终究是你们的。所以当我浏览这个帖子http://www.iteye.com/topic/800013,看见那段惊为天人的代码时,我便对上面的话深信不疑。
闲话休提,来看下这段鬼斧神工的代码:
public static void main(String[] args) { for(int i = 1; i < 10;i++) //1 { if(i%1!=0) { continue; }else { for(int j = 1; j < 10; j++)//2 { if(i==j) { continue; }else { if((i*10 + j)%2 == 0) { for(int k = 1; k < 10 ; k++)//3 { if((k==i)||(k==j)) { continue; }else { if((i*100 + j*10 + k)%3==0) { for(int l = 1 ;l <10;l++)//4 { if((l==i)||(l==j)||(l==k)) { continue; }else { if((i*1000+j*100+k*10+l)%4==0) { for(int m = 1;m <10;m++)//5 { if((m==i)||(m==j)||(m==k)||(m==l)) { continue; }else { if((i*10000+j*1000+k*100+l*10+m)%5==0) { for(int n=1;n<10;n++)//6 { if((n==i)||(n==j)||(n==k)||(n==l)||(n==m)) { continue; }else { if((i*100000+j*10000+k*1000+l*100+m*10+n)%6==0) { for(int x = 1;x < 10; x++)//7 { if((x==i)||(x==j)||(x==k)||(x==l)||(x==m)||(x==n)) { continue; }else { if((i*1000000+j*100000+k*10000+l*1000+m*100+10*n+x)%7==0) { for(int y =0; y < 10;y++)//8 { if((y==i)||(y==j)||(y==k)||(y==l)||(y==m)||(y==n)||(y==x)) { continue; }else { if((i*10000000+j*1000000+k*100000+l*10000+m*1000+n*100+10*x+y)%8==0) { for(int z = 1; z < 10; z++) { if((z==i)||(z==j)||(z==k)||(z==l)||(z==m)||(z==n)||(z==x)||(z==y)) { continue; }else { if((i*100000000+j*10000000+k*1000000+l*100000+m*10000+n*1000+x*100+10*y+z)%9==0) { System.out.println(i+""+j+""+k+""+l+""+m+""+n+""+x+""+y+""+z); } } } } } } } } } } } } } } } } } } } } } } } } } } }
高效与精彩不用多表。
在此也贴上我一直所标榜为优雅的史上被隐藏最多的代码,以结束这个系列。
import java.util.Arrays; public class MagicDiv { private int[] used = new int[10]; public void find(){ Arrays.fill(used,0); used[5] = 1; dfs(0,1); } public void dfs(int pre, int pos){ if(pos > 9){ System.out.println(pre); return; } int tmp = pre * 10; if(pos == 5){ dfs(tmp + 5 , pos + 1); }else{ for (int i = 1; i < 10; i++) { if(used[i] == 0 ){ int cur = tmp + i; if(cur % pos == 0){ used[i] = 1; dfs(cur,pos + 1); used[i] = 0; } } } } } public static void main(String[] args) { new MagicDiv().find(); } }
推荐阅读