hdu2824 The Euler function 筛选法求欧拉函数模板题
来源:互联网 发布:手机期货交易模拟软件 编辑:程序博客网 时间:2024/06/10 09:35
//求a , b范围内的所有的欧拉函数
//筛选法求欧拉函数模板题
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std ;
const int maxn = 3000010 ;
typedef __int64 ll ;
int e[maxn] ;
int a , b ;
void Euler()
{
int i,j;
for (i=1;i<maxn;i++) e[i]=i;
for (i=2;i<maxn;i++)
if (e[i]==i) // 当e[i] == i时,可以发现i即为素数
{
e[i]=i-1;
for (j=i*2;j<maxn;j+=i) e[j]=e[j]/i*(i-1);
}
}
int main()
{
Euler() ;
while(~scanf("%d%d" , &a , &b))
{
ll ans = 0 ;
for(int i = a ;i <= b;i++)
ans += (ll)e[i] ;
printf("%I64d\n" , ans) ;
}
return 0 ;
}
//筛选法求欧拉函数模板题
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std ;
const int maxn = 3000010 ;
typedef __int64 ll ;
int e[maxn] ;
int a , b ;
void Euler()
{
int i,j;
for (i=1;i<maxn;i++) e[i]=i;
for (i=2;i<maxn;i++)
if (e[i]==i) // 当e[i] == i时,可以发现i即为素数
{
e[i]=i-1;
for (j=i*2;j<maxn;j+=i) e[j]=e[j]/i*(i-1);
}
}
int main()
{
Euler() ;
while(~scanf("%d%d" , &a , &b))
{
ll ans = 0 ;
for(int i = a ;i <= b;i++)
ans += (ll)e[i] ;
printf("%I64d\n" , ans) ;
}
return 0 ;
}
0 0
- hdu2824 The Euler function 筛选法求欧拉函数模板题
- hdu2824 The Euler function 欧拉函数模板题
- hdu2824-The Euler function
- hdu2824-The Euler function
- hdu2824:The Euler function
- hdu2824 The Euler function
- hdu2824(the Euler Function)
- hdu2824 The Euler function (欧拉函数)
- hdu2824 The Euler function 欧拉函数
- hdu2824 The Euler function 欧拉函数
- HDU2824 The Euler function 欧拉函数的应用
- hdu2824 The Euler function(欧拉函数个数)
- The Euler function(hdu2824,欧拉函数)
- 欧拉函数之HDU2824 The Euler function
- HDOJ-2824The Euler function(筛选法求欧拉函数)
- hdu 2824 The Euler function 欧拉函数模板题
- The Euler function(欧拉函数筛选)(转载)
- HDU 2824 The Euler function【模板题】
- 根文件系统挂载过程—基于linux3.10
- js日历控件大全
- 面试题7:用两个栈实现队列
- 111111
- 随笔-NSArray字符串的分割和拼
- hdu2824 The Euler function 筛选法求欧拉函数模板题
- 2.2-3
- Linux Memcache 查看列出所有key方法
- jquery this里面的对象(div,span等元素)如何获取
- 【完美亲测】Nexus6 fastboot刷机
- Cocos2d-x c++和java相互调用
- hdu1873看病要排队(优先队列)
- 2.2-4
- 黑马程序员-Java面向对象之重载(overloading)和重写(overriding)