永发信息网

若两个素数之差为2,则这两个素数就是孪生素数。编写程序找出1-100之间的所有孪生素数。

答案:3  悬赏:70  手机版
解决时间 2021-08-17 00:02
  • 提问者网友:我是女神我骄傲
  • 2021-08-16 17:31

要求

  3 5 7为一组孪生素数

 11,13为另一组

。。。。。

 

最佳答案
  • 五星知识达人网友:洎扰庸人
  • 2021-08-16 18:57

#include"stdio.h"
main()
{
 int i,j;
 int flag,n=0;
 int a[100];
 
 for(i=2;i<=100;i++)
 {
  flag=1;
   for(j=2;j<i;j++)
   {
    if(i%j==0)
   { 
    flag=0;
    break;
   }
  
   }
   if(flag==1)
    {
  a[n]=i;
  n++;
 }
 }
 for(i=0;i<n;i++)
 {
  for(j=i+1;j<n;j++)
  {


   if(a[j]-a[i]==2)
   {  
    printf("%d",a[i]);
    printf("%d",a[j]);
    if(a[j+1]-a[j]==2)
    {
    printf("%d",a[j+1]);
    i=3;
    }
    printf("\n");
    
   }
  
  }
 }
  
}


很晚了,所以随便写了一个,功能应该没问题,但效率不高

全部回答
  • 1楼网友:第四晚心情
  • 2021-08-16 21:41

#include<stdio.h> void main() {  int i=1,a[100],m,sum=0,k;  for(i=2;i<100;i++)  {   m=0;   for(k=2;k<i/2+1;k++)   if(i%k==0)   {    m=1;    break;   }   if(m==0)    a[sum++]=i;     }  printf("%d",a[0]);  for(i=1;i<sum;i++)  {   if((a[i]-2==a[i-1])||(a[i]+2==a[i+1]))   printf("%3d",a[i]);  }  }

这个是不是你要的结果??

  • 2楼网友:人類模型
  • 2021-08-16 20:27
可以用嵌套的for语句来找出素数,然后分别用两个变量来存储两个素数,再用if判断两素数的差是否为二,是则输出。否就不输出
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯