1 条题解

  • 0
    @ 2025-4-7 21:19:28

    C :

    #include<stdio.h> 
    int main()
    {
        int i,j,a[3000],n,m,flag;
        m=0;
    	for(i=2;i<=12000;i++)
    	{
    		a[0]=2;
    		flag=1;        
    		for(j=0;j<=m;j++)
    		{
    			if(i%a[j]==0)
    				flag=0;
    		}
    		if(flag)
    		{
    			m++;
    			a[m]=i;
    		}
    	}
        while(scanf("%d",&n)!=EOF)
        {
    		if(n<=11)
    			printf("-1\n");
    		if(n>11)
    		{
    			printf("11");
    			for(i=5;a[i]<n;i++)
    				if(a[i]%10==1)printf(" %d",a[i]);
    			printf("\n");
    		}
        }
        return 0;
    }
    
    

    C++ :

    #include<stdio.h>
    #include<math.h>
    
    int main()
    {
    	int n,i,j,flag;
    	while(scanf("%d",&n)!=EOF)
    	{
    		for(flag=0,i=2;i<n;i++)
    		{
    			for(j=2;j<=sqrt(i);j++)
    				if(i%j==0)
    					break;
    			if(j>sqrt(i)&&i%10==1)
    			{
    				printf(flag?" %d":"%d",i);
    				flag=1;
    			}
    		}
    		if(!flag)
    			printf("-1");
    		puts("");
    	} 
    	return 0;
    }
    

    Pascal :

    var n,i,j,m,k,t,s:longint;
        a:array[1..10000] of longint;
    
    begin
      while not eof(input) do
        begin
        readln(n);
        m:=1;
        s:=0;
        while m+10<n do
          begin
           m:=m+10;
           t:=1;
           for j:=2 to m-1 do
             if m mod j=0 then begin t:=0;break;end;
           if t=1 then begin s:=s+1; a[s]:=m;end;
         end;
       if s=0 then writeln(-1)
        else
          begin for i:=1 to s-1 do write(a[i],' '); writeln(a[s]);end;
      end;
    end.
    
    
    

    Python :

    import sys
      
    def check(NUM):
        prime_num = [i for i in xrange(NUM+1)]
        for i in xrange(2,int(NUM**0.5)+1):
            if prime_num[i]:
               start = i**2
               step  = i
               prime_num[start::step] = ((NUM - start)/step + 1)*[0]
        return [i for i in prime_num if prime_num[i]!=0 and prime_num[i]!=NUM]
          
    for line in sys.stdin:
        data = int(line.split()[0])
        k = check(data)
        m = [i for i in k if i!=1 and str(i)[-1]=='1']
        if len(m)==0:
           print '-1'
        else:
           print ' '.join([str(i) for i in m])
    
    • 1

    信息

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