威尔逊定理
什么是威尔逊定理
是质数的充要条件为
也可以写作: 为质数的充要条件为
例子
由给定的n计算这个累加的和。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=3e6+50;
int a[N];
int cnt=0;
int p[N];
void f(int n){
for(int i=2;i<=n;i++){
if(!p[i])a[cnt++]=i;
for(int j=0;j<cnt&&i*a[j]<=n;j++){
p[i*a[j]]=1;
if(i%a[j]==0)break;
}
}
}
int main(){
f(N-1);
int t;
memset(a,0,sizeof a);
p[0]=p[1]=1;
for(int i=1;i<1e6+5;i++){
a[i]=(p[3*i+7]+1)%2;
a[i]+=a[i-1];
}
cin>>t;
while(t--){
int n;
cin>>n;
cout<<a[n]-a[1]<<endl;
}
}
本文作者:PassName
本文链接:https://www.cnblogs.com/spaceswalker/p/15996622.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步