㈠ 用C++编写程序求100以内的所有素数(质素)的和。

#include<iostream.h> int main()
{
int num[100],j=3;
int i,sum;
sum=0;
num[0]=2;
for(i=1;i<100;i++){
num[i]=j;j+=2;
}
for(i=0;i<99;i++)
if(num[i])
for(j=i+1;j<100;j++)
if(num[j]&&num[j]%num[i]==0)
num[j]=0;
j=0;
for(i=0;i<100;i++)
if(num[i]){
sum=sum + num[i];
j++;
}
cout<<sum;
}

㈡ C语言编程:用筛选法求100之内的素数,

源代码如下:

#include <stdio.h>

#include <math.h>

int main()

{

int a, b, i, flag;

printf("输入两个整数: ");

scanf("%d %d", &a, &b);

printf("%d与%d之间的素数为: ", a, b);

while(a<b)

{

flag=0;

for(i=2; i<=sqrt(a); i++)

{

if(a%i==0)

{

flag=1;

break;

}

}

if(flag==0)

printf("%d ", a);

a++;

}

return 0;

}

(2)编程求100以内的素数扩展阅读

一个偶数总能表示为两个素数之和的源代码如下:

#include "stdio.h"

#include "math.h"

main()

{

int a,b,c,d;

scanf("%d",&a);

for(b=3;b<=a/2;b+=2)

{

for(c=2;c<=sqrt(b);c++)

if(b%c==0) break;

if(c>sqrt(b))

d=a-b;

else

break;

for(c=2;c<=sqrt(d);c++)

if(d%c==0)

break;

if(c>sqrt(d))

printf("%d=%d+%d ",a,b,d);

}

}

for(int i=5;i<=sqrt(x);i+=6)

if(x%i==0||x%(i+2)==0)

{

printf("%d不是素数",x);

return 0;

}

printf("%d是素数",x);

return 0;

}