数学--数论--因子和线性筛 (模板)
生活随笔
收集整理的這篇文章主要介紹了
数学--数论--因子和线性筛 (模板)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ACM常用模板合集
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define N 500022 int prime[N],cnt; bool vis[N]; int num[N],e[N]; void init() {for(int i=2;i<=N;++i){if(!vis[i]){prime[++cnt]=i;num[i]=i+1;e[i]=1;}for(int j=1;j<=cnt;++j){if(prime[j]*i>N) break;vis[prime[j]*i]=true;if(i%prime[j]==0){num[i*prime[j]]=num[i]*prime[j]+e[i];e[i*prime[j]]=e[i];break;}num[i*prime[j]]=num[i]*(prime[j]+1);e[i*prime[j]]=num[i];}} } int main() {int T;init();scanf("%d",&T);while(T--){int n;scanf("%d",&n);printf("%lld\n",num[n]);} }總結
以上是生活随笔為你收集整理的数学--数论--因子和线性筛 (模板)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四大妙招取出iPhone SIM卡槽:你
- 下一篇: Codeforces Round #61