1 条题解

  • 0
    @ 2025-2-21 20:02:37

    C++ :

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	long c[50000]={0};
        int u=0;
    	for(int i=1;i<=10;i+=2){
    			if(i==5)
    				continue;
    			for(int j=0;j<=9;j++){
    				c[u++]=(i*1000+i*1)+(j*100+j*10);
    				c[u++]=(i*100+i*1)+(j*10);
    				for(int k=0;k<=9;k++){
    					 c[u++]=(i*100000+i*1)+(j*10000+j*10)+(k*1000+k*100);
    						 c[u++]=(i*10000+i*1)+(j*1000+j*10)+(k*100);
    					for(int r=0;r<=9;r++){
    					  c[u++]=(i*10000000+i*1)+(j*1000000+j*10)+(k*100000+k*100)+(r*10000+r*1000);
    					  c[u++]=(i*1000000+i*1)+(j*100000+j*10)+(k*10000+k*100)+(r*1000);
    					}
    				}
    			}
    		}
    		c[u++]=11;c[u++]=7;c[u++]=5;c[u++]=3;c[u]=2;
    	long d[5000]={0};
    	int q=0;
    	for(int w=0;w<=u;w++){
    		int   flag=0;
    	    for(int j=2;j<=sqrt(double(c[w]));j++){
    			if(c[w]%j==0)
    			   {flag=1; break;}
    	     	}
    		if(flag==0)
    			d[q++]=c[w];
           }
    	long temp=0;/*排序过程*/
    	for(int i=0;i<q;i++)
    		for(int j=1;j<q-i;j++)
    			if(d[j]<d[j-1]){
    			  temp=d[j-1];
    			  d[j-1]=d[j];
    			  d[j]=temp;
    			}
    	long a,b;
    	while(scanf("%d%d",&a,&b)!=EOF){
    	for(int p=0;p<q;p++){
    	   if(d[p]>=a&&d[p]<=b)
    		   printf("%ld\n",d[p]);
    	  }
    	}
    return 0;
    }
    
    • 1

    信息

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