我正在尝试制作一个惊人的素数级数(APS),其中有一个向量myvector myvector [0] = myvector [1] = 0
对于n> 1,myvector [n] = myvector [n-1] + f(n),其中f(n)是n的最小素数。
输入3(测试用例数)
2
3
4
输出
2
5
7
#include<iostream>
#include<math.h>
#include<vector>
using namespace std;
bool isPrime(int p)
{
int c=sqrt(p);
if(c==1)
{
return true;
}
else
{
for(int i=2;i<=c;i++)
{if(p%i==0)
{return false;}
else
{return true;}
}
}
}
int func(int n1)
{
if(n1%2==0)
{
return 2;
}
else
{
if(isPrime(n1)==true)
{
return n1;
}
else
{
int c1= sqrt(n1);
for(int i=2;i<=c1;i++)
{
if(n1%i==0 && isPrime(i)==true)
{
return i;
}
}
}
}
}
main()
{
int t;
std::vector<int> myvector;
myvector[0]=myvector[1]=0;
while(t--)
{
int n;
cin>>n;
while(n>1)
{
myvector[n]=myvector[n-1]+func(n);
cout<<myvector[n]<<endl;
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句