输入一个正整数n,输出n以内的所有孪生素数。

输入一个正整数n,输出n以内的所有孪生素数。

#include <stdio.h>
#include <math.h>
int main()
{
    
    
  int n;  
  int i,j,k;
  int count=0,s;        
  printf("请输入一个正整数N:\n");
  scanf("%d",&n);
  for(i=2;i+2<=n;i++ )
  {
    
    
      s = 1; 
      k = sqrt(i);
      for(j=2;j<=k;j++ )
      {
    
    
          if(i%j==0)
          {
    
    
              s = 0;  
              break;
           }
       }
      if(s)
      {
    
    
          k = sqrt( i+2 );
          for(j=2;j<=k;j++)
          {
    
    
              if((i+2)%j == 0 )
              {
    
    
                  s=0;
                  break;
               }   
           }
          if(s)
           {
    
    
             count++;
             printf("第%d个孪生素数[%d,%d]\n",count,i,i+2);
            }
       }
   } 
} 

孪生素数就是指相差2的素数对。例如:3和5,5和7,11和13…

猜你喜欢

转载自blog.csdn.net/m0_54624966/article/details/113073247