www.baidu.com

JavaCode--我爱你,芳儿

JavaStudy--我爱你,芳儿

4位的吸血鬼数字计算的JAVA代码

 

 1 public class Xixueguinumber
 2 {
 3     
 4     public int cal(int x, int y, int z, int w)
 5     {
 6         int num = (x * 10 + y) * (z * 10 + w);
 7         return num;
 8         
 9     }
10     public static void main(String[] args)
11     {
12         for (int i = 1000; i <= 9999;i++)
13         {
14             int a = (int)(i/1000);
15             int b = (int)((i - a*1000)/100);
16             int c = (int)((i-((int)(i/100))*100)/10);
17             int d = (int)(i - ((int)(i/10))*10);
18             Xixueguinumber Xi = new Xixueguinumber();
19             boolean b1 = Xi.cal(a,b,c,d) == i;
20             boolean b2 = Xi.cal(b,a,c,d) == i;
21             boolean b3 = Xi.cal(a,b,d,c) == i;
22             boolean b4 = Xi.cal(b,a,d,c) == i;
23             boolean b5 = Xi.cal(a,c,b,d) == i;
24             boolean b6 = Xi.cal(a,c,d,b) == i ;
25             boolean b7 = Xi.cal(c,a,b,d) == i;
26             boolean b8 = Xi.cal(c,a,d,b) == i;
27             boolean b9 = Xi.cal(a,d,b,c) == i;
28             boolean b10 = Xi.cal(d,a,b,c) == i;
29             boolean b11 = Xi.cal(a,d,c,b) == i;
30             boolean b12 = Xi.cal(d,a,c,b) == i;
31             Boolean array[] ={b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12};
32             for(int j = 0; j <12; j++)
33             {
34                 if(array[j])
35                 {
36                     System.out.print("吸血鬼数字为:" + i + "=" );
37                     switch(j+1)
38                     {
39                         case 1 : System.out.println(""+ a + b + " * " + c + d);break;
40                         case 2 : System.out.println(""+ b + a + " * " + c + d);break;
41                         case 3 : System.out.println(""+ a + b + " * " + d + c);break;
42                         case 4 : System.out.println(""+ b + a + " * " + d + c);break;
43                         case 5 : System.out.println(""+ a + c + " * " + b + d);break;
44                         case 6 : System.out.println(""+ a + c + " * " + d + b);break;
45                         case 7 : System.out.println(""+ c + a + " * " + b + d);break;
46                         case 8 : System.out.println(""+ c + a + " * " + d + b);break;
47                         case 9 : System.out.println(""+ a + d + " * " + b + c);break;
48                         case 10 : System.out.println(""+ d + a + " * " + b + c);break;
49                         case 11 : System.out.println(""+ a + d + " * " + c + b);break;
50                         case 12 : System.out.println(""+ d + a + " * " + c + b);break;
51                     }
52                 }
53 
54             }
55 
56         }
57     }
58 }
感觉蛮好玩的.

 

芳儿宝贝.我爱你

posted on 2007-12-23 17:21 wǒ愛伱--咾婆 阅读(1915) 评论(7)  编辑  收藏

评论

# re: 4位的吸血鬼数字计算的JAVA代码 2008-08-08 17:35

你写的是2位和2位的相乘,那1位和3位相乘的呢?  回复  更多评论   

# re: 4位的吸血鬼数字计算的JAVA代码 2008-09-24 19:07 lijianfeng

以两个0结尾的数是不允许的,所以在for循环中要加上一句
if((i%100)==0) continue;  回复  更多评论   

# re: 4位的吸血鬼数字计算的JAVA代码 2008-09-28 19:59 wu

import java.util.*;

class xixuegui {
public static void main(String args[]) {
for(int x = 11; x < 99; x++) {
for(int y = 11; y < 99; y++) {
int ji = x * y;
if(ji < 1000 && (ji % 100) != 0)
continue;
int a[] = new int[4];
a[0] = x / 10;
a[1] = x % 10;
a[2] = y / 10;
a[3] = y % 10;
/*for(int j = 0; j < a.length - 1; j++) {
for(int i = 0; i < a.length - 1; i++) {
if(a[i] < a[i+1]) {
int c = a[i];
a[i] = a[i+1];
a[i+1] = c;
}
}
}*/
Arrays.sort(a);
int m = a[0] + a[1] * 10 + a[2] * 100 + a[3] * 1000;
//int m = a[0] * 1000 + a[1] * 100 + a[2] * 10 + a[3];
//System.out.print(m + " ");
int b[] = new int[4];
b[0] = ji / 1000;
b[1] = ji / 100 % 10;
b[2] = ji / 10 % 10;
b[3] = ji % 10;
//for(int i = 0; i < b.length; i++) {
// System.out.print(b[i] + " ");
//}
/*for(int j = 0; j < b.length - 1; j++) {
for(int i = 0; i < b.length - 1; i++) {
if(b[i] < b[i+1]) {
int d = b[i];
b[i] = b[i+1];
b[i+1] = d;
}
}
}*/
Arrays.sort(b);
int n = b[0] + b[1] * 10 + b[2] * 100 + b[3] * 1000;
//for(int i = 0; i < b.length; i++) {
// System.out.print(b[i] + " ");
//}
//int n = b[0] * 1000 + b[1] * 100 + b[2] * 10 + b[3];
//System.out.print(n + " ");
if(m == n && x < y) {
System.out.println(x + "*" + y + "=" + x * y);
}
//System.out.println(x + "*" + y + "=" + x * y);
}
}
}
}  回复  更多评论   

# re: 4位的吸血鬼数字计算的JAVA代码 2008-11-29 08:42 WildTiger


class Ghost {
static void prt(int m){
System.out.print(m+" ");
}
static void prtl(){
System.out.println();
}
public static void main(String[] args) {
int digital[] = new int[4];
int one,two,j1,j2,j3,j4;
//从1000到9999,对每一个数都判断是否是吸血鬼数,若是则输出
outer:
for(int i=1000; i<10000; i++){
//对于每一个数,首先提取它的每一个位上的数字。
digital[0]=i/1000;
digital[1]=i%1000/100;
digital[2]=i%100/10;
digital[3]=i%10;
//根据提取出的每一位数字,组合成两个10位数。
for(j1=0; j1<4; j1++){
if(digital[j1]!=0){
one=digital[j1]*10;//如果当前这一位不为0,则将其放到第一个数的最高位。
//提取第一个数的个位数字。
for(j2=0; j2<4; one=digital[j1]*10,j2++){
if(j2!=j1){//第二位数和第一位数不能是同一个
one+=digital[j2];
for(j3=0; j3<4; j3++)
if(j1!=j3 && j2!=j3 &&digital[j3]!=0){//第二个数的首位不能是以前用过的,而且不能为0
two=digital[j3]*10;
for(j4=0; j4<4; two=digital[j3]*10,j4++)
if(j1!=j4 && j2!=j4 && j3!=j4){
two+=digital[j4];
if(two*one==i){
prtl();
prt(i);
prt(one);
prt(two);
continue outer;
}
}
}
}
}
}
}
}
}
}


花了我将近一个上午才弄出来的。  回复  更多评论   

# re: 4位的吸血鬼数字计算的JAVA代码[未登录] 2009-01-10 02:18 111

1 public class Xixueguinumber
2 {
3
4 public int cal(int x, int y, int z, int w)
5 {
6 int num = (x * 10 + y) * (z * 10 + w);
7 return num;
8
9 }
10 public static void main(String[] args)
11 {
12 for (int i = 1000; i <= 9999;i++)
13 {
14 int a = (int)(i/1000);
15 int b = (int)((i - a*1000)/100);
16 int c = (int)((i-((int)(i/100))*100)/10);
17 int d = (int)(i - ((int)(i/10))*10);
18 Xixueguinumber Xi = new Xixueguinumber();
19 boolean b1 = Xi.cal(a,b,c,d) == i;
20 boolean b2 = Xi.cal(b,a,c,d) == i;
21 boolean b3 = Xi.cal(a,b,d,c) == i;
22 boolean b4 = Xi.cal(b,a,d,c) == i;
23 boolean b5 = Xi.cal(a,c,b,d) == i;
24 boolean b6 = Xi.cal(a,c,d,b) == i ;
25 boolean b7 = Xi.cal(c,a,b,d) == i;
26 boolean b8 = Xi.cal(c,a,d,b) == i;
27 boolean b9 = Xi.cal(a,d,b,c) == i;
28 boolean b10 = Xi.cal(d,a,b,c) == i;
29 boolean b11 = Xi.cal(a,d,c,b) == i;
30 boolean b12 = Xi.cal(d,a,c,b) == i;
31 Boolean array[] ={b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12};
32 for(int j = 0; j <12; j++)
33 {
34 if(array[j])
35 {
36 System.out.print("吸血鬼数字为:" + i + "=" );
37 switch(j+1)
38 {
39 case 1 : System.out.println(""+ a + b + " * " + c + d);break;
40 case 2 : System.out.println(""+ b + a + " * " + c + d);break;
41 case 3 : System.out.println(""+ a + b + " * " + d + c);break;
42 case 4 : System.out.println(""+ b + a + " * " + d + c);break;
43 case 5 : System.out.println(""+ a + c + " * " + b + d);break;
44 case 6 : System.out.println(""+ a + c + " * " + d + b);break;
45 case 7 : System.out.println(""+ c + a + " * " + b + d);break;
46 case 8 : System.out.println(""+ c + a + " * " + d + b);break;
47 case 9 : System.out.println(""+ a + d + " * " + b + c);break;
48 case 10 : System.out.println(""+ d + a + " * " + b + c);break;
49 case 11 : System.out.println(""+ a + d + " * " + c + b);break;
50 case 12 : System.out.println(""+ d + a + " * " + c + b);break;
51 }
52 }
53
54 }
55
56 }
57 }
58 }  回复  更多评论   

# re: 4位的吸血鬼数字计算的JAVA代码 2009-04-11 17:22 成子

@111
代码很啰嗦,不过效率比价高  回复  更多评论   

# re: 4位的吸血鬼数字计算的JAVA代码[未登录] 2010-07-19 22:31 AA

狠SB的办法,不过很清晰。  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 

导航

统计

公告

芳儿宝贝.我爱你


黑客基地
http://www.hackbase.com
全球最大的黑客门户网站


 最近在读的书:

常用链接

留言簿(1)

随笔分类(37)

JavaCode

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜