※ 引述《bonedouble (想去台南)》之銘言:
: 請各位幫幫忙吧...
: 1. 設計一程式,可由使用者輸入一正整數N, 然後程式把1---N之間的質數找出,
: 印在螢幕上
: 2. 承上題,找出1---N之間有幾對"雙生質數" 印在螢幕上
: 雙生質數就是兩個質數之間相差2 的兩個質數
#include <iostream.h>
void main(void)
{
int *simPrime;
int N, count=0, step, Num;
cin>>Num;
N = (Num-3)/2;
simPrime = new int[N];
for(int i=0; i<N; i++)
simPrime[i]=0;
for(i=0; i<N; i++)
if(simPrime[i]==0) {
step = 2*i+3;
count++;
for(int k=step+i; k<N; k+=step)
simPrime[k]=1;
}
cout<<"Primes : "<<endl<<2<<" ";
for(i=0; i<N; i++)
if(simPrime[i]==0)
cout<<2*i+3<<" ";
cout<<endl<<"Twin Primes : "<<endl;
for(i=0; i<N-1; i++)
if(simPrime[i]==0 && simPrime[i+1]==0)
cout<<2*i+3<<" "<<2*i+5<<endl;
}
龍龍
--
你是一位聰明人嗎?如果是,你該記住,你的聰明是跟那些人學來的,
然後在適當的地點,適當的時間,輕輕的對那人說:這是你教我的。
聲音要輕,而且只告訴他一個人。
摘錄自"牧羊少年奇幻之旅"
--
※ 發信站: 批踢踢實業坊(ptt.twbbs.org)
◆ From: DickG.m5.ntu.ed