有意思的小算法,谁把代码贴上??? * <pre> * 算法题: * 1、2个三位数相加,结果是一个4位数 * 2、2个三位数,必须每一个数字都不同 * 3、相加的结果,每一位数,也都不同 * 4、打印所有的可能 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【chaoqunhe】截止到2008-07-09 16:56:21的历史汇总数据(不包括此帖):发帖的总数量:3 发帖的总分数:40 每贴平均分数:13 回帖的总数量:17 得分贴总数量:1 回帖的得分率:5% 结贴的总数量:1 结贴的总分数:20 无满意结贴数:0 无满意结贴分:0 未结的帖子数:2 未结的总分数:20 结贴的百分比:33.33 % 结分的百分比:50.00 % 无满意结贴率:0.00 % 无满意结分率:0.00 % 楼主该结一些帖子了 import java.util.ArrayList;/** * 1、2个三位数相加,结果是一个4位数 *2、2个三位数,必须每一个数字都不同 *3、相加的结果,每一位数,也都不同 *4、打印所有的可能 */public class Test { /** * 判断数字字符串中是否有相同的数字 * @param s * @return */ public static boolean equal(String s){ char[] c = s.toCharArray(); for(int i=0;i<c.length;i++) for(int j=i+1;j<c.length;j++){ if(c[i] == c[j]) return true; } return false; } /** * 筛选所有可能的数 */ public static void filter(){ ArrayList<String> array = new ArrayList<String>(); for(int i=102;i<987;i++){ if(equal(""+i)) continue; for(int j=i+100;j<987;j++){ if(equal(""+j)) continue; int k = i + j; if(k < 1000) continue; if(equal(""+k) || equal(""+i+j+k)) continue; array.add( i+","+j+","+k ); } } for(int i=0;i<array.size();i++){ System.out.println(array.get(i)); } } public static void main(String[] args){ filter(); }}还可以利用正则表达式匹配。 JavaFileInputStream流Read的问题 求一正则表达式取得其中的指定值 数据筛选问题 如何使 jtable的列水平放置 我没有SourceForge帐户,如何通过wincvs查看SourceForge上项目的代码呢? private有什么奥秘吗? 怎么样在原本什么都没有的JScrollPane上动态加上一些JTable,并显示? javap -c 输出的内容中aload_0是什么意思? String的颜色!! 如何用Java建一个目录呀?就是实现Dos的MD命令。多谢!! 问一个连接数据的小问题???请教 Java里的求随机数 问题。
楼主【chaoqunhe】截止到2008-07-09 16:56:21的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:40 每贴平均分数:13
回帖的总数量:17 得分贴总数量:1 回帖的得分率:5%
结贴的总数量:1 结贴的总分数:20
无满意结贴数:0 无满意结贴分:0
未结的帖子数:2 未结的总分数:20
结贴的百分比:33.33 % 结分的百分比:50.00 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主该结一些帖子了
import java.util.ArrayList;/**
* 1、2个三位数相加,结果是一个4位数
*2、2个三位数,必须每一个数字都不同
*3、相加的结果,每一位数,也都不同
*4、打印所有的可能
*/
public class Test {
/**
* 判断数字字符串中是否有相同的数字
* @param s
* @return
*/
public static boolean equal(String s){
char[] c = s.toCharArray();
for(int i=0;i<c.length;i++)
for(int j=i+1;j<c.length;j++){
if(c[i] == c[j])
return true;
}
return false;
}
/**
* 筛选所有可能的数
*/
public static void filter(){
ArrayList<String> array = new ArrayList<String>();
for(int i=102;i<987;i++){
if(equal(""+i))
continue;
for(int j=i+100;j<987;j++){
if(equal(""+j))
continue;
int k = i + j;
if(k < 1000)
continue;
if(equal(""+k) || equal(""+i+j+k))
continue;
array.add( i+","+j+","+k );
}
}
for(int i=0;i<array.size();i++){
System.out.println(array.get(i));
}
} public static void main(String[] args){
filter();
}
}
还可以利用正则表达式匹配。