C++编程找出1到100之间的所有孪生素数

C++编程找出1到100之间的所有孪生素数

问题描述:

第二题,求用简单的C++语句啊,大一小白,这是作业图片说明图片说明表示不会,帮帮忙,图片

#include
#include
#include
using namespace std;

bool isPrime(int num){
if ((num == 1) || (num == 2)) {
return true;
}

for (int i = 2; i <= num / 2; i++){
if (num % i == 0)
return false;
}
return true;
}

int main(){
int p1 = 2;
for (int p = 2; p <= 100; p++) {
if (isPrime(p)){
if (p - p1 == 2)
cout << "(" << p1 << ", " << p << ")" << endl;
p1 = p;
}
}
return 0;
}

// for (int j=2;j<=sqrt(i);j++)
// {
// flag=0;
//
// if (i%j==0)
// {
// flag=1;
// break;
// }
//

// }
//
// if (flag==0)
// {
// printf("%d\n",i);
// }

// ......
答案就在这里:1-100之间的所有素数
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

 #include"stdio.h"
void 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");

            }
        }
    }
}

#include
using namespace std;

bool isPrimeNum (int num);

int main() {
int a = 0, b = 0;
for (int i=1; i<100; i++) {
if (isPrimeNum(i)) {
a = b;
b = i;
if (b-a==2 && a!=0) {
cout << a <<" and "<<b<<endl;
}
}
}
return 0;
}

bool isPrimeNum (int num) {
int end = num/2;
for (int index=2; index<=end; index++) {
if (num%index==0) {
return false;
}
}
return true;
}