zoukankan      html  css  js  c++  java
  • java实现第四届蓝桥杯组素数

    组素数

    题目描述
    素数就是不能再进行等分的数。比如:2 3 5 7 11 等。
    9 = 3 * 3 说明它可以3等分,因而不是素数。

    我们国家在1949年建国。如果只给你 1 9 4 9 这4个数字卡片,可以随意摆放它们的先后顺序(但卡片不能倒着摆放啊,我们不是在脑筋急转弯!),那么,你能组成多少个4位的素数呢?
    
    比如:1949,4919 都符合要求。
    

    请你提交:能组成的4位素数的个数,不要罗列这些素数!!

    注意:不要提交解答过程,或其它的辅助说明文字。

    //处理从k开始的排列
    static void f(int [] arr,int k){
    	if(k==4)//前面都已确定
    		check(arr);
    	for(int i=k;i<4;i++){
    		//交换
    		int t = arr[k];
    		arr[k] = arr[i];
    		arr[i] = t;
    		
    		f(arr,k+1);
    		
    		t = arr[k];
    		arr[k] = arr[i];
    		arr[i] = t;
    	}
    }
    static Set<Integer> set = new HashSet<Integer>();
    private static void check(int [] arr){
    	int x = arr[0]*1000+arr[1]*100+arr[2]*10+arr[3];
    	boolean flag = true;
    	for(int i=2;i<=Math.sqrt(x);i++){
    		if(x%i==0){
    			flag=false;
    			break;
    		}
    		if(flag)
    			set.add(x);
    	}
    }
    public static void main(String[] args) {
    	int arr[] = {1,9,4,9};
    	f(arr,0);
    	System.out.println(set.size());
    	}
    
    
  • 相关阅读:
    053532
    053531
    053530
    053529
    053528
    RTSP和RTMP的区别是什么?
    RTSP、RTMP和HTTP协议的区别
    在C#中实现视频播放器
    wpf下基于opencv实现视频播放器
    C#实现视频播放器(Vlc.DotNet)
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13077333.html
Copyright © 2011-2022 走看看