poj 3090 amp;amp; poj 2478(法雷级数,欧拉函数)
http://poj.org/problem?id=3090
法雷级数
法雷级数的递推公式非常easy:f[1] = 2; f[i] = f[i-1]+phi[i]。
该题是法雷级数的变形吧,答案是2*f[i]-1。
#include <stdio.h>
#include <iostream>
#include <map>
#include <set>
#include <stack>
#include <vector>
#include <math.h>
#include <string.h>
#include <queue>
#include <string>
#include <stdlib.h>
#include <algorithm>
#define LL long long
#define _LL __int64
#define eps 1e-12
#define PI acos(-1.0)
using namespace std;const int maxn = 1100;int flag[maxn];
int prime[maxn];
int phi[maxn];
LL f[maxn];void init()
{memset(flag,0,sizeof(flag));prime[0] = 0;phi[1] = 1;for(int i = 2; i < maxn; i++){if(flag[i] == 0){phi[i] = i-1;prime[++prime[0]] = i;}for(int j = 1; j <= prime[0]&&prime[j]*i<maxn; j++){flag[prime[j]*i] = 1;if(i % prime[j] == 0)phi[prime[j]*i] = phi[i] * prime[j];elsephi[prime[j]*i] = phi[i] * (prime[j] - 1);}}f[1] = 2;for(int i = 2; i <= 1000; i++)f[i] = f[i-1] + phi[i];
}int main()
{init();int test;scanf("%d",&test);for(int item = 1; item <= test; item++){int x;scanf("%d",&x);printf("%d %d %lld\n",item,x,f[x]*2-1);}return 0;
}
http://poj.org/problem?
id=2478
更简单了,直接求法雷级数。基于素数筛的欧拉函数。
#include <stdio.h>
#include <iostream>
#include <map>
#include <set>
#include <stack>
#include <vector>
#include <math.h>
#include <string.h>
#include <queue>
#include <string>
#include <stdlib.h>
#include <algorithm>
#define LL long long
#define _LL __int64
#define eps 1e-12
#define PI acos(-1.0)
using namespace std;const int maxn = 1000010;int flag[maxn];
int prime[maxn];
int phi[maxn];
LL f[maxn];void init()
{memset(flag,0,sizeof(flag));prime[0] = 0;phi[1] = 1;for(int i = 2; i < maxn; i++){if(flag[i] == 0){phi[i] = i-1;prime[++prime[0]] = i;}for(int j = 1; j <= prime[0]&&prime[j]*i<maxn; j++){flag[prime[j]*i] = 1;if(i % prime[j] == 0)phi[prime[j]*i] = phi[i] * prime[j];elsephi[prime[j]*i] = phi[i] * (prime[j] - 1);}}f[1] = 2;for(int i = 2; i <= 1000010; i++)f[i] = f[i-1] + phi[i];
}int main()
{init();int n;while(~scanf("%d",&n)&&n){printf("%lld\n",f[n]-2);}return 0;
}
poj 3090 amp;amp; poj 2478(法雷级数,欧拉函数)相关推荐
- POJ 3090 Visible Lattice Points 【欧拉函数】
<题目链接> 题目大意: 给出范围为(0, 0)到(n, n)的整点,你站在(0,0)处,问能够看见几个点. 解题分析: 很明显,因为 N (1 ≤ N ≤ 1000) ,所以无论 N 为 ...
- POJ 2480 (约数+欧拉函数)
题目链接: http://poj.org/problem?id=2480 题目大意:求Σgcd(i,n). 解题思路: 如果i与n互质,gcd(i,n)=1,且总和=欧拉函数phi(n). 如果i与n ...
- 数论 - 分解质因数+欧拉函数 - Relatives POJ - 2407
数论 - 分解质因数+欧拉函数 文章目录 数论 - 分解质因数+欧拉函数 一.分解质因数 二.欧拉函数 三.模板: Relatives POJ - 2407 一.分解质因数 由 算 术 基 本 定 理 ...
- poj 2480 (欧拉函数应用)
点击打开链接 //求SUM(gcd(i,n), 1<=i<=n) /*g(n)=gcd(i,n),根据积性定义g(mn)=g(m)*g(n)(gcd(m,n)==1)所以gcd(i,n)是 ...
- POJ - 1284 Primitive Roots(原根+欧拉函数)
题目链接:点击查看 题目大意:给出一个模数 p ,求 p 有多少个原根 题目分析:算是补充了一个知识点吧,模数 p 的原根个数为 p[ p[ n ] ] ,p 为欧拉函数 证明博客:https://b ...
- POJ - 2480 Longge's problem(欧拉函数+唯一分解定理)
题目链接:点击查看 题目大意:给出一个n,求 题目分析:因为N到了二的三十二次方,所以直接暴力肯定会T,这里介绍两种方法,都可以做实现这个题目 首先我们需要转化一下这个题目,先说一下优化过后的暴力枚举 ...
- POJ 3696 欧拉函数+快速幂
题目的意思大概就是问是否存在一串全是8的数字是L的倍数 直接想没有什么想法,要想到用简洁的形式将这个数字表示出来,对于每一位都是8的数字我们可以用 X=8*(10k-1)/9的形式表示出来,那么题目的 ...
- 欧拉函数(Euler_Function)
一.基本概述 在数论,对正整数n,欧拉函数varphi(n)是少于或等于n的数中与n互质的数的数目.此函数以其首名研究者欧拉命名,它又称为Euler's totient function.φ函数.欧拉 ...
- poj2480(利用欧拉函数的积性求解)
题目链接: http://poj.org/problem?id=2480 题意:∑gcd(i, N) 1<=i <=N,就这个公式,给你一个n,让你求sum=gcd(1,n)+gcd(2 ...
最新文章
- 使用 Cordova 打包 app
- 详解“FTP文件传输服务”安装配置实例
- 网友写的ELK安装步骤
- 腾讯游戏学院专家分析:Unity在移动设备的GPU内存机制
- Androi App缓存管理
- C++ const 与 extern
- eclipse启动失败:An internal error occurred during: reload maven project
- spring中aop事务
- C语言 FileStreaming buffer
- 其它行业半路转web前端,优势和不足有哪些?
- 体验服务器windows系统,经典重温:Windows 95操作系统体验
- 直方图均衡化 java,OpenCV Java 直方图均衡化
- matplotlib:plot 3d ,plot_surface
- 学习笔记HHL:Generalizing a Person Retrieval Model--Hetero-Homogeneous Learning UDA郑良2018
- 人人网市值缩水近80%,究竟发生了什么?
- 访问请转到 http://hi.baidu.com/yuyu8848
- Vue源码阅读(28):mergeOptions() 方法源码解析
- 迅为STM32MP157开发板使用手册更新啦
- 阿里云之如何使用阿里大鱼给喜欢的人发短信(1)
- 2022最新微信小程序常见面试题总结
热门文章
- 引用类型String的操作
- 刷新存储器的容量单位是什么_GD25Q80CSIG|相变存储器是什么,具备什么特点?
- atom 代码都是白色 怎么显示颜色_IBC1.0完成,ATOM为什么没涨?
- 分析BootstrapClassLoader/ExtClassLoader/AppClassLoader的加载路径 及父委托机制
- [WCF]利用net.tcp傳輸協定來建置WCF Service
- win10系统U盘启动
- 次小生成树(POJ1679/CDOJ1959)
- IO-BufferedInputStream
- javascript类型注意事项
- Hadoop 同步集群时间ntp