前2日五一看见已到数学题:用1,2,3,4,5,6,7,8,9九个数字组成三个三位数(每个数字只能用一次),使第二个数字是第一个数字的2倍,第三个数字是第一个数字的三倍。请写出这三个数。
用Java写出一个解决方法:
/**
*
*/
package com.bch;import java.util.HashSet;
import java.util.Set;/**
* @author Administrator
*
*/
public class Test { /**
* @param args
*/
public static void main(String[] args) {
Set<Character> set = new HashSet<Character>();
for (int i = 123; i <= 329; i++) {
char[] str = (0 + String.valueOf(i) + String.valueOf(i * 2) + String
.valueOf(i * 3)).toCharArray();
for (int j = 0; j < str.length; j++) {
// set.clear();
set.add(str[j]);
}
// System.out.println(set.toString());
if (set.toArray().length == 10) {
System.out.println(String.valueOf(i) + ","
+ String.valueOf(i * 2) + "," + String.valueOf(i * 3));
set.clear();
} else {
set.clear();
}
}
}
}java
用Java写出一个解决方法:
/**
*
*/
package com.bch;import java.util.HashSet;
import java.util.Set;/**
* @author Administrator
*
*/
public class Test { /**
* @param args
*/
public static void main(String[] args) {
Set<Character> set = new HashSet<Character>();
for (int i = 123; i <= 329; i++) {
char[] str = (0 + String.valueOf(i) + String.valueOf(i * 2) + String
.valueOf(i * 3)).toCharArray();
for (int j = 0; j < str.length; j++) {
// set.clear();
set.add(str[j]);
}
// System.out.println(set.toString());
if (set.toArray().length == 10) {
System.out.println(String.valueOf(i) + ","
+ String.valueOf(i * 2) + "," + String.valueOf(i * 3));
set.clear();
} else {
set.clear();
}
}
}
}java
解决方案 »
- xfire问题
- strust2 标签问题~~
- 请问现在学J2EE好 还是.NET好 还是2个都学?
- java mail 收信时取主题乱码
- 一个关于jforum论坛的问题
- Struts新手常见问题:javax.servlet.ServletException: Cannot find ActionMappings or ActionFormBeans collection
- JavaMail如何进行邮件地址过虑?
- 关于axis部署web service用wsdd文件的问题
- 何处有weblogc6或7的下载。
- 紧急求助 Lucene 使用
- Spring 中配置 jdbc.properties 问题!
- 如何解决strut2参数2次传递的问题呢
List<Integer> results = new ArrayList<Integer>();
Set<Integer> temp = new HashSet<Integer>();
int[] a = new int[9];
for(int i=160;i<987/3;i++){
a[0] = i/100;
a[1]=(i-a[0]*100)/10;
a[2] = i-a[0]*100-a[1]*10;
a[3] = 2*i/100;
a[4]=(2*i-a[3]*100)/10;
a[5] = 2*i-a[3]*100-a[4]*10;
a[6] = 3*i/100;
a[7]=(3*i-a[6]*100)/10;
a[8] = 3*i-a[6]*100-a[7]*10;
temp.clear();
for(int x=0;x<9;x++){
if(a[x]==0) break;
temp.add(a[x]);
}
if(temp.size()==9)results.add(i);
}
System.out.println(results.size());
System.out.println(results);
[(i, i*2, i*3) for i in range(123, 329) if len(set(str.format("0{0}{1}{2}", i, 2*i, 3*i))) == 10]