UVa 10820 - Send a Table
题目:找到整数区间[1。n]中全部的互质数对。
分析:数论,筛法,欧拉函数。在筛素数的的同一时候。直接更新每一个数字的欧拉函数。
每一个数字一定会被他前面的每一个素数筛到。而欧拉函数的计算是n*π(1-1/pi);
当中,pi是n的素数因子,所以能够利用筛法来计算欧拉函数,然后求和;
注意,这时求出的欧拉函数为全部小于n的数m与n的互质对,所以要乘以2;
(1,1)仅仅有一个,所以还要减掉1。
说明:打表计算,查询输出。
#include <iostream>
#include <cstdlib> using namespace std; int euler[50001];
int sums[50001];
int used[50001]; int main()
{
for (int i = 0 ; i < 50001 ; ++ i) {
used[i] = 0;
euler[i] = i;
} for (int i = 2 ; i < 50001 ; ++ i)
if (!used[i]) {
for (int j = i ; j < 50001 ; j += i) {
used[j] = 1;
euler[j] = euler[j]/i*(i-1);
}
} sums[0] = 0;
for (int i = 1 ; i < 50001 ; ++ i)
sums[i] = sums[i-1]+euler[i]; int n;
while (cin >> n && n)
cout << 2*sums[n]-1 << endl; return 0;
}
UVa 10820 - Send a Table的更多相关文章
- UVA 10820 - Send a Table 数论 (欧拉函数)
Send a Table Input: Standard Input Output: Standard Output When participating in programming contest ...
- UVA 10820 Send a Table euler_phi功能
除1,1其他外国x,y不等于 为 x<y 案件 一切y有phi(y)组合 F[x]= phi(i) 2<=i<=x 结果为 2*F[x]+1 Problem A Send a Tab ...
- UVa 10820 - Send a Table(欧拉函数)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- Uva 10820 Send a Table(欧拉函数)
对每个n,答案就是(phi[2]+phi[3]+...+phi[n])*2+1,简单的欧拉函数应用. #include<iostream> #include<cstdio> # ...
- UVa10820 Send a Table[欧拉函数]
Send a TableInput: Standard Input Output: Standard Output When participating in programming contests ...
- uva 10820 (筛法构造欧拉函数)
send a table When participating in programming contests, you sometimes face the following problem: Y ...
- 【UVA 10820】Send a Table(欧拉函数)
Description When participating in programming contests, you sometimes face the following problem: Yo ...
- UVa 10820 (打表、欧拉函数) Send a Table
题意: 题目背景略去,将这道题很容易转化为,给出n求,n以内的有序数对(x, y)互素的对数. 分析: 问题还可以继续转化. 根据对称性,我们可以假设x<y,当x=y时,满足条件的只有(1, 1 ...
- Uva 10820 交表
题目链接:https://uva.onlinejudge.org/external/108/10820.pdf 题意: 对于两个整数 x,y,输出一个函数f(x,y),有个选手想交表,但是,表太大,需 ...
随机推荐
- 属性通知之ObservableCollection
单个属性是如何去通知,在上一章已经介绍过了,那么集合如何做到属性通知呢?这里要介绍ObservableCollection<T>,字面意思就是用于观察的集合. msdn上给出的定义是:表示 ...
- [CSAcademy]Cycle Tree
[CSAcademy]Cycle Tree 题目大意: 定义环树是一张无向连通的简单图,它的生成方式如下: \(2\)个点\(1\)条边的图是环树: 对任意一个环树,加入\(k\)个点\(a_{1\s ...
- lnmp环境一键搭建及卸载
系统需求: CentOS/Debian/Ubuntu Linux系统 需要2GB以上硬盘剩余空间 128M以上内存,OpenVZ的建议192MB以上(小内存请勿使用64位系统) VPS或服务器必须已经 ...
- zoj 3537 区间dp+计算几何
题意:给定n个点的坐标,先问这些点是否能组成一个凸包,如果是凸包,问用不相交的线来切这个凸包使得凸包只由三角形组成,根据costi, j = |xi + xj| * |yi + yj| % p算切线的 ...
- HTTPClient实现免登陆请求(带cookie请求)
背景: 使用httpClient请求某登录型网站,模拟一个操作,一般步骤一个httpclient模式登录->httpClient模拟操作: 此时发现,每次操作都需要进行一次登录,极其浪费时间,是 ...
- INFORMATION_SCHEMA.COLUMNS-表的字段信息
当前数据库中当前用户可以访问的每一个列在该视图中占一行.INFORMATION_SCHEMA.COLUMNS 视图以 sysobjects.spt_data type_info.systypes.sy ...
- JS实现背景透明度可变,文字不透明的效果
最近项目里需要实现这么个功能,类似网游中的聊天框,背景都是透明的,但是文字是不透明.所以如果简单的使用opacity(非IE)和alpha滤镜(IE)是无法实现这个效果的,会造成全部透明. 解决办法如 ...
- SQL Plus和PL/SQL
一.SQL Plus是oracle提供的一种用户接口.类似于操作系统的命令行.用户可以通过在SQL Plus中输入命令来向数据库发 送命令,数据库也将处理结果通过SQL Plus ...
- [Linux] Ubuntu 18 LTS netplan 网络配置
Ubuntu 18 LTS netplan 网络配置 今天装完 Ubuntu 18 LTS,配置网络时发现Ubuntu 18LTS ifupdown has been replaced by netp ...
- java基础学习总结——网络编程
一.网络基础概念 首先理清一个概念:网络编程 != 网站编程,网络编程现在一般称为TCP/IP编程.