hdoj 2824 The Euler function 【欧拉函数】
来源:互联网 发布:淘宝里的运费险怎么退 编辑:程序博客网 时间:2024/05/16 02:09
The Euler function
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 4520 Accepted Submission(s): 1880
Problem Description
The Euler function phi is an important kind of function in number theory, (n) represents the amount of the numbers which are smaller than n and coprime to n, and this function has a lot of beautiful characteristics. Here comes a very easy question: suppose you are given a, b, try to calculate (a)+ (a+1)+....+ (b)
Input
There are several test cases. Each line has two integers a, b (2<a<b<3000000).
Output
Output the result of (a)+ (a+1)+....+ (b)
Sample Input
3 100
Sample Output
3042
分析:
题意就是求出从n~m的数的质数的个数的和。
代码:
#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<algorithm>#define maxn 3000001using namespace std;int n,m;int gg[maxn];void euler(){ memset(gg,0,sizeof(gg)); gg[1]=1; for(int i=2;i<maxn;i++) if(!gg[i]) for(int j=i;j<maxn;j+=i) { if(!gg[j]) gg[j]=j; gg[j]=gg[j]/i*(i-1); }}int main(){ euler();// 这一点特别注意,不要把函数调用放在while里面 否则会超时。 while(scanf("%d%d",&n,&m)!=EOF) { long long sum=0;// 此处用long long 和__int64 都可以。 for(int i=n;i<=m;i++) { if(gg[i]) sum+=gg[i]; } printf("%lld\n",sum); } return 0;}
0 0
- 【欧拉函数】 HDOJ 2824 The Euler function
- HDOJ 题目2824 The Euler function(欧拉函数)
- hdoj 2824 The Euler function(欧拉函数打表)
- hdoj 2824 The Euler function 【欧拉函数 简单】
- HDOJ The Euler function 2824【欧拉函数】
- HDOJ 2824 The Euler function(欧拉函数+打表法)
- hdoj 2824 The Euler function 【欧拉函数】
- The Euler function(hdoj --2824-欧拉函数)
- HDOJ 2824 The Euler function (欧拉函数)
- HDOJ-----2824The Euler function欧拉函数
- HDOJ 2824 The Euler function (欧拉函数)
- 2824 The Euler function【欧拉函数】
- HDOJ 2824 The Euler function (欧拉函数打表)
- hdoj The Euler function 2824 (欧拉函数打表)
- The Euler function(欧拉函数)
- hdu2824 The Euler function (欧拉函数)
- hdu2824 The Euler function 欧拉函数
- hdu2824 The Euler function 欧拉函数
- jQuery 浏览器版本判断BUG
- opengl es 2.0游戏与图形编程——2.设置图形投影
- thinking in java学习笔记(二)
- 关于枚举enum
- zjnu(1182)——能量项链
- hdoj 2824 The Euler function 【欧拉函数】
- js apply/call/caller/callee/bind使用方法与区别分析
- hdoj.1759 Matrix Revolution【矩阵快速幂->逆思维】 2015/08/24
- HDOJ 1074.Doing Homework(状态压缩DP)
- 重启adb连接
- 【POJ1611】【The Suspects】【并查集水题】【增加一个num[]记录数量】
- Android RAM、ROM和SD卡解释
- 比较运算符
- CentOS7.1修改开机默认运行级别