`

java算法----0至9这十个数组成两个三位数和一个四位数

    博客分类:
  • java
 
阅读更多
package com.zhonghaiwangluokeji.interview;

/**
 * 0-9这十个数,组合成两个三位数和一个四位数
 * 求出满足条件:两个三位数相加等于那个四位数
 * 的所有这些数
 * @author yangjianzhou
 *
 */
public class Problem3 {

	public static void main(String[] args) {
		printNumbers();
	}
	public static void printNumbers(){

		int result = 0;
		for(int i=123;i<=987;i++){
			for(int j=123;j<=987;j++){
				result = i+j;
				if((result>1000)&&isTrue(result,i,j)){
					System.out.print(result+" ");
					System.out.print(i+" ");
					System.out.println(j+" ");
				}
			}
		}
	}

	public static boolean isTrue(int result,int i,int j){
		String str = "0123456789";
		String s = result+""+i+""+j;
		int index = 0;
		String str1 = "";
		for(int k =0;k<str.length();k++){
			index = s.indexOf(str.charAt(k));
			if(index>=0){
				str1 = s.replaceFirst(str.charAt(k)+"", "a");
				s = str1;
			}
		}
		String s1 = s.replaceAll("a", "");
		if(s1.length()==0){
			return true;
		}
		return false;
	}
}



运行结果:
1035 246 789 
1035 249 786 
1053 264 789 
1053 269 784 
1053 284 769 
1035 286 749 
1035 289 746 
1053 289 764 
1089 324 765 
1089 325 764 
1098 342 756 
1098 346 752 
1206 347 859 
1206 349 857 
1098 352 746 
1098 356 742 
1206 357 849 
1206 359 847 
1089 364 725 
1089 365 724 
1098 423 675 
1098 425 673 
1305 426 879 
1305 429 876 
1089 432 657 
1026 437 589 
1089 437 652 
1026 439 587 
1089 452 637 
1089 457 632 
1062 473 589 
1098 473 625 
1098 475 623 
1305 476 829 
1062 479 583 
1305 479 826 
1062 483 579 
1026 487 539 
1026 489 537 
1062 489 573 
1026 537 489 
1026 539 487 
1062 573 489 
1062 579 483 
1062 583 479 
1026 587 439 
1026 589 437 
1062 589 473 
1098 623 475 
1503 624 879 
1098 625 473 
1503 629 874 
1089 632 457 
1089 637 452 
1089 652 437 
1089 657 432 
1098 673 425 
1503 674 829 
1098 675 423 
1503 679 824 
1089 724 365 
1089 725 364 
1098 742 356 
1602 743 859 
1035 746 289 
1098 746 352 
1035 749 286 
1602 749 853 
1098 752 346 
1602 753 849 
1098 756 342 
1602 759 843 
1053 764 289 
1089 764 325 
1089 765 324 
1053 769 284 
1053 784 269 
1035 786 249 
1035 789 246 
1053 789 264 
1503 824 679 
1305 826 479 
1305 829 476 
1503 829 674 
1602 843 759 
1206 847 359 
1206 849 357 
1602 849 753 
1602 853 749 
1206 857 349 
1206 859 347 
1602 859 743 
1503 874 629 
1305 876 429 
1305 879 426 
1503 879 624 

分享到:
评论

相关推荐

    蓝点被必做的算法经典题java.c/c++

    【程序29】:用1、2、2、3、4、5这六个数字,用java写一个main函数,打印出所有不同的排列,如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连。 【程序30】写一个方法,用二分查找法判断任意整数在...

    java jdk-api-1.6 中文 chmd

    java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security...

    JAVA_API1.6文档(中文)

    java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security...

    Java开发技术大全(500个源代码).

    outputMax.java 求两个数中的最大数 overflowExample.java 演示溢出 precedence.java 演示自加运算符的优先级 primeNumber.java 输出100-200之间的所有素数 ranking.java 评定成绩等级 rankingBySwitch.java ...

    JAVA基础之java的移位运算

    在本例中,变量a与b对应位的组合代表了二进制数所有的 4 种组合模式:0-0,0-1,1-0 ,和1-1 。“|”运算符和“&”运算符分别对变量a与b各个对应位的运算得到了变量c和变量d的值。对变量e和f的赋值说明了“^”运算符...

    Java 1.6 API 中文 New

    java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security ...

    java api最新7.0

    java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi. 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security 包中的类...

    JavaAPI1.6中文chm文档 part1

    java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security...

    JavaAPI中文chm文档 part2

    java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security...

    达内 coreJava 习题答案

    6、输出所有的水仙花数,把谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身, 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5 class DafodilNumber{ public static void main(String[] args){ System.out....

    java常用工具类的使用

    在Java程序设计过程中,对应日期和时间的格式化,还有一个简单的格式化方式,就是java.text.SimpleDateFormat,该类中用字符串指定日期和时间的格式,字符串中的字符称为模式字符,模式字符区分大小写。常见的模式...

    [Java参考文档]

    java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security...

    10道java经典面试题 含代码

    5、题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。 6、题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续 判断第二个字母。 7、题目:求...

    [Java参考文档].JDK_API 1.6

    java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security ...

    JDK_1_6 API

    java.rmi.registry 提供 RMI 注册表的一个类和两个接口。 java.rmi.server 提供支持服务器端 RMI 的类和接口。 java.security 为安全框架提供类和接口。 java.security.acl 此包中的类和接口已经被 java.security ...

    课程设计实验——八皇后_VC++游戏

    八皇后问题是一个古老而著名的问题,是回溯算法的典型例题。该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线...

    PL/SQL 基础.doc

    NUMBER(P,S) P:精度:整个的有效数位(从左边开始第一个不为0的数字起) S:刻度,可选(小数点后面的保留位数) BINARY_INTEGER:保存整数. 和NUMBER的底层的保存方式不同, BINARY_INTEGER为2进制保存,NUMBER 需要...

Global site tag (gtag.js) - Google Analytics