1 条题解

  • 0
    @ 2023-6-11 12:17:07

    C++ :

    #include <bits/stdc++.h>
    using namespace std;
    //素数判断 
    bool sushu(int n){
    	bool r = true;//假设是素数
    	int i;
    	for(i = 2;i <= sqrt(n);i++){
    		if(n % i == 0){
    			r = false;
    			break;
    		}
    	} 
    	
    	if(n <= 1){
    		r = false;
    	}
    	
    	return r;
    }
    
    //二进制转10进制 
    int num(char s[]){
    	int i,r = 0,t = 1;
    	for(i = strlen(s) - 1; i >= 0;i--){
    		r = r + (s[i] - '0') * t;
    		t = t * 2;
    	} 
    	
    	return r;
    }
    
    int main(){
    	int n,i,c = 0;
    	char s[50];
    	cin>>n;
    	for(i = 0;i < n;i++){
    		cin>>s;
    		if(sushu(num(s))){
    			c++;
    		}
    	}
    	cout<<c<<endl;
    	
        return 0;
    }
    
    

    Python :

    import math
    n=int(input())
    k=0
    for i in range(n):
        sr=input()
        a=int(sr,2)
        f=1
        for j in range(2,int(math.sqrt(a))+1):
            if(a%j==0):
                f=0
                break
        if(f==1):
            k=k+1
    print(k)
    
    • 1

    信息

    ID
    2325
    时间
    1000ms
    内存
    16MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者