POJ_3090_Visible Lattice Point_欧拉函数
来源:互联网 发布:ip域名是什么意思 编辑:程序博客网 时间:2024/06/15 18:09
我为什么这么弱?
不写题意了,主要是为了记一下欧拉函数。
x的欧拉函数指小于等于x的和x互质的整数个数。
它有一个性质
φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn)
pi为x的第i个质因数。
本来求欧拉函数的时间复杂度,比较高,用这个以后可以快一点,
代码如下:
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cmath>using namespace std;int euler(int x){int ret=x;for(int i=2;i<=sqrt((double)x);++i){if(x%i==0)ret=ret*(i-1)/i;while(x%i==0)x/=i;}if(x>1)ret=ret*(x-1)/x;return ret;}int main(){int cs;scanf("%d",&cs);for(int CS=1;CS<=cs;++CS){int n;scanf("%d",&n);int ans=0;for(int i=2;i<=n;++i)ans+=euler(i);ans=ans*2+3;printf("%d %d %d\n",CS,n,ans);}return 0;}
0 0
- POJ_3090_Visible Lattice Point_欧拉函数
- POJ_3090_Visible Lattice Points
- Visible Lattice Points (欧拉函数)
- Visible Lattice Points 欧拉函数应用
- 【欧拉函数】 HDOJ 4483 Lattice triangle
- POJ3090_Visible Lattice Points【欧拉函数】
- POJ 3090 Visible Lattice Points 欧拉函数
- [poj 3090]Visible Lattice Point[欧拉函数]
- poj3090 Visible Lattice Points 欧拉函数的应用
- POJ 3090 Visible Lattice Points 欧拉函数的应用
- POJ 3090 Visible Lattice Points(欧拉函数)
- POJ 3090 Visible Lattice Points 欧拉函数
- POJ 3090 : Visible Lattice Points - 欧拉函数
- POJ 3090 Visible Lattice Points (欧拉函数)
- Poj 3090 Visible Lattice Points(欧拉函数)
- POJ 3090 Visible Lattice Points(欧拉函数)
- hdoj Lattice triangle 4483 (欧拉函数&&容斥)
- Visible Lattice Points(Poj3090)(欧拉函数运用)
- 计算几何题集
- 王垠:对博士学位说永别(我对清华更崇拜了)
- 数组——某年的第几天
- 数组指针和指针数组
- hdu4292 Food 网络最大流 拆点
- POJ_3090_Visible Lattice Point_欧拉函数
- 通过Gradle自动生成通过Git提交的version
- uva 270 Lining Up
- leetcode 刷题之路 12 Permutations
- Java--java中多态知识介绍
- Nested Type
- java创建对象的四种方法
- 和你好地方还是大富豪个符合时代
- uva 122 - Trees on the level(一棵看着书都写不利索的树……)