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

菜鸟表来,大虾的来帮帮忙~ 感激不尽!!

编写程序求100以内的所有素数的和的一种方法是:

    定义一个变量sum来存储素数之和,初始值为0

    用一个循环从2到100遍历所有的自然数,用另一个循环从2到该数本身判断是否有其他因数

    如果没有其他因数,说明该数是素数,就把它加到sum中

    如果有其他因数,说明该数不是素数,就跳过它

    循环结束后,输出sum的值

    以下是用Python编写的示例代码:

    #code blocks syntax from markdown to encapsulate any part in responses that's longer-format content such as poems, code, lyrics, etc. except tables.sum = 0 #定义变量sum存储素数之和for i in range(2, 101): #遍历从2到100的自然数
       for j in range(2, i): #遍历从2到i-1的自然数
           if i % j == 0: #如果i能被j整除,说明i有其他因数
               break #跳出内层循环
       else: #如果内层循环完整执行,说明i没有其他因数
           sum += i #把i加到sum中print(sum) #输出sum的值
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-15
#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;
}本回答被网友采纳
第2个回答  2013-11-15
#include <stdio.h>
#include <math.h>int fun(int number)
{
int i=0;
for (i=2; i<=sqrt(number); i++)
{
if (number%i==0)
{
return 0;
}
}
return 1;
}
void main()
{
int number=0;
int sum=0;
for(number=1; number<=100; number++)
{
if(fun(number) != 0)
{
sum += number;
}
}
printf("%d\n",sum);
}
第3个回答  2013-11-15
#include "iostream.h"
void main()
{
int i,j,s=0;
for(i=2;i<=100;i++)
{
for(j=i/2;j>=2;j--)
if(i%j==0) break;
if(j==1) s+=i;
}
cout<<s<<endl;
}
第4个回答  2022-02-09
#include <iostream>
using namespace std;

int main(){

int i=3;
int j=2;
int total=2;
bool flag=true;

for(i=3;i<=100;i++){
for(j=2;j<i;j++){
if(i%j==0){
flag=false;
break;}
else{

flag=true;}
}

if(flag){
total=total+i;

}
}
cout<<"total: "<<total<<endl;
}
相似回答