2022年7月1日 星期五

印出1~7000的質數

 #include <stdio.h>



int main() 

{

int prime[7001];

int i;

for(i=0;i<=7000;i++)

{

prime[i]=1;

}

prime[0]=0;

prime[1]=0;

for(i=2;i<=7000;i++)

{

if(prime[i]==1)

{

int j;

for(j=i*2;j<=7000;j=j+i)//印出2(3、4....)數的倍數 

{

prime[j]=0;

}

}

}

int T;

scanf("%d",&T) ;

while(T--)//測式幾筆 

{

int A,B;

scanf("%d %d",&A,&B);

int money=0;//一開始價錢設為0 

for(i=A;i<=B;i++)//A到B之間 

{

if(prime[i]==0)//如果不是質數 

{

money=money+i;//價錢=價錢+非質數 

}

}

printf("%d\n",money);

}

    return 0;

沒有留言:

張貼留言

algorithm

 #include <iostream> #include <string.h> using namespace std; int main(int argc, char** argv)  { for(int j=2;j<=100;j++)//j...