2 条题解

  • 0
    @ 2025-10-2 22:43:39

    分两步:先获得素数组,在判断(绝对不是因为刚写完判断素数的代码

    记得输出%用%%就好

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h> 
    #include<math.h>
    int sss=0;
    int ss[1000];
    
    int isp(int n){
    	int i;
    	if(n<2) return 0;
    	for(i=0;i<sss&&ss[i]*ss[i]<=n;i++){
    		if(n%ss[i]==0){
    			return 0;
    		}
    	}
    	return 1;
    }
    
    void finds(int max){
    	int num;
    	for(num=2;num<=max&&sss<1000;num++){
    		if(isp(num)){
    			ss[sss]=num;
    			sss++;
    		}
    	}
    }
    
    int main(){
    	int i,n,j;scanf("%d",&n);
    	int su=0;
    	int a[n];
    	finds(n);
    	for(i=0;i<n;i++){
    		scanf("%d",&a[i]);
    	}
    	for(i=0;i<n;i++){
    		if(isp(a[i])!=0){
    			su++;
    		}
    	}
    	double g=(su*1.0/n)*100;
    	printf("%.2lf%%",g);
        return 0;
    }
    

    信息

    ID
    42
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    353
    已通过
    130
    上传者