C++编程问题,查找并输出n以内所有素数及它们的累加和,n从键盘输入。 急,求大神帮助啊!!!

如题所述

#include <iostream>
using namespace std;

int isprime(int data)
{
if (data < 2)
{
return 0;
}
else
{
for (int i = 2; i <= sqrt(data); ++i)
{
if (data % i == 0)
{
return 0;
}
}
return 1;
}
}

int main()
{
int n = 0, sum = 0, count = 0;
cout << "请输入变量n的值: " << endl;
cin >> n;
cout << n << " 以内的所有素数包括:" << endl;
for (int i = 2; i <= n; ++i)
{
if (isprime(i))
{
if ((++count) == 9)
{
cout << endl;
count = 1;
}
cout << i << '\t';
sum += i;
}
}
if (sum == 0)
{
cout << n << " 以内没有素数!" << endl;
}
cout << "这些素数的和是" << sum << endl;
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-21
#include <stdio.h>

int issushu(int m) 
{  
    if(m < 2)
        return 0;
    int i,n=sqrt(m);  
    
    for(i=2;i<=n;i++)
    {   
        if(m%i==0)    
        break;
    }   
    if(i>n)    
        return 0;   
    else  
        return 1; 
}

void main()
{
    int n;
    int i;
    int sum = 0;
    scanf("%d",&n);
    
    for(i = 2; i <= n;i++)
    {
        if(issushu(i))
            sum += i;
    }
    
    printf("sum = [%d]\n",sum);
    return;
}

本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网