#include<stdio.h>
intmain()
{
intn,i,j,t,l;
intsum=0;
printf("請輸入壹個大於2的整數:");
scanf("%d",&n);
l=n;
for(;n>=2;n--)
{
for(i=2;i<n;i++)
{
if(n%i!=0)//判斷其為素數
t=1;
else
{
t=2;
break;
}
}
if(t==1)
{
sum+=n;
//printf("%d",n);//輸出1-n之間的所有素數
}
}
printf("1-%d之間的所有素數和為:%d\n",l,sum);
return0;
}
擴展資料
C++質數大於等於2不能被它本身和1以外的數整除
#include<iostream>
#include<algorithm>
#include<cmath>
usingnamespacestd;
constlonglongsize=100000;//修改size的數值以改變最終輸出的大小
longlongzhishu[size/2];
voidwork(){//主要程序
zhishu[1]=2;
longlongk=2;
for(longlongi=3;i<=size;i++){//枚舉每個數
boolok=1;
for(longlongj=1;j<k;j++){//枚舉已經得到的質數
if(i%zhishu[j]==0){
ok=!ok;
break;
}
}
if(ok){
zhishu[k]=i;
cout<<"count"<<k<<''<<i<<endl;
k++;
}
}
}
intmain(){
freopen("zhishu.out","w",stdout);
cout<<"count12"<<endl;
work();
return0;
}