📄 00011.cpp
字号:
/*
名称编号:00011
实现功能:求质数之和
运行结果:通过
*/
/*******************************************************************/
#include <iostream>
#include <math.h>
using namespace std;
//判断一个整数是不是质数,若是返回1,不是返回0
int isPrime(int n)
{
int i;
for(i=2;i<=sqrt(n);i++)
if(n%i==0)
return 0;
else continue;
return 1;
}
//计算前n个质数之和
int sum(int n)
{
int i = 2,sum = 0;
if(n<1) return 0;
else
{
for(int count=0;count<n;i++)
{
if(isPrime(i))
{
sum+=i;
count++;
}
}
return sum;
}
}
int main()
{
int n;
cout<<"输入要计算质数的个数:"<<endl;
cin>>n;
cout<<"前"<<n<<"个质数之和SUM="<<sum(n)<<endl;
return 0;
}
/*******************************************************************/
//【数学知识】s=(int) sqrt(n)的意思就是对n开平方后取整,这样做是为了提高计算效率。
//因为如果一个数不是质数的话,对它做因式分解,
//至少有一个因子是小于或者等于它的开方取整的,
//如果在小于或等于n的开方取整中没有找到它的因子,那么就可以判断n是质数。
//【拓展1】打印是实现是那些数相加的功能
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -