JAvaアルゴリズム----0から9の10の数は2つの3桁と1つの4桁を構成します


http://yangjianzhouctgu.iteye.com/blog/1884313
Javaコード
 
收藏代码
  • package com.zhonghaiwangluokeji.interview;   
  •   
  • /**  
  • *0-9この10個の数は、2つの3桁と1つの4桁
  • に結合されている.
  • *満足条件を求める:2つの3桁の加算はその4桁
  • に等しい
  • *のこれらのすべての数
  •  * @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
  •             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;   
  •     }   
  • }  
  • 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=0){
    				str1 = s.replaceFirst(str.charAt(k)+"", "a");
    				s = str1;
    			}
    		}
    		String s1 = s.replaceAll("a", "");
    		if(s1.length()==0){
    			return true;
    		}
    		return false;
    	}
    }
    
    

    実行結果:
    Javaコード
     
    收藏代码
  • 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