标签:3e7 数论 Forsaken int 因子 1005 primes
链接:https://ac.nowcoder.com/acm/contest/26656/1005
来源:牛客网
题目描述
Forsaken有一个有趣的数论函数。对于任意一个数xx,f(x)f(x)会返回xx的最小质因子。如果这个数没有最小质因子,那么就返回0。
现在给定任意一个nn,Forsaken想知道\sum_{i = 1}^{n}{f(i)}∑
i=1
n
f(i)的值。
输入描述:
一个整数nn。
输出描述:
一个整数代表上面的求和式的值。
示例1
输入
复制
4
输出
复制
7
备注:
1 \leq n \leq 3e71≤n≤3e7
分析
素数筛
1.大小3e7以上
2.每个数被自己的最小质因子判掉
//-------------------------代码---------------------------- #define int ll const int N = 3e7 + 10; int n,m,ans,cnt; bool primes[30000010]; int pos[N]; void get_primes() { if(n == 1) { cout<< 0 <<endl; rt; } for(int i = 2;i<=n;i++) { if(!primes[i]) { ans += i; pos[cnt ++ ] = i; } for(int j = 0;j< cnt && pos[j] * i <= n;j++) { primes[pos[j] * i] = 1; ans += pos[j]; if(i % pos[j] == 0) break; } } cout<<ans<<endl; } void solve() { cin>>n; get_primes(); } signed main(){ clapping();TLE; // int t;cin>>t;while(t -- ) solve(); // {solve(); } return 0; } /*样例区 */ //------------------------------------------------------------
标签:3e7,数论,Forsaken,int,因子,1005,primes 来源: https://www.cnblogs.com/er007/p/16515199.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。