编程求100以内的素数
㈠ 用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;
}