Uva 10820 交表
题目链接:https://uva.onlinejudge.org/external/108/10820.pdf
题意:
对于两个整数 x,y,输出一个函数f(x,y),有个选手想交表,但是,表太大,需要精简;已知:f(x,y) 可以算出 f(x*k,y*k),所以有一些 f(x,y)可以不在表里。
给定一个 n,1<=x,y<=n,求最少的 f(x,y)个数。

设:
可以看出 x,y互素;
而且,和欧拉函数有一个特别的位置是,对角线,当x>1时,小于等于 x 的与 x 互素的数肯定没有 x,所以可以放心大胆的用欧拉函数。
注意的是,f(1,1)只有一个。
#include <bits/stdc++.h> using namespace std; int euler_phi(int n)
{
int res = n;
for(int i=; i*i<=n; i++)
{
if(n%i==)
{
n/=i;
res = res - res / i;
while(n%i==)
{
n/=i;
}
}
}
if(n>) res = res - res / n;
return res;
}
int sum[]; void phi_table(int n,int* phi)
{
for(int i=; i<=n; i++)
phi[i] = ;
phi[]=;
for(int i=; i<=n; i++)
if(!phi[i])
for(int j=i; j<=n; j+=i)
{
if(!phi[j])
phi[j]=j;
phi[j]=phi[j]/i*(i-);
}
sum[] = ;
for(int i=; i<=; i++)
sum[i] = sum[i-] + phi[i];
} int main()
{
int n;
int phi[]; phi_table(,phi);
while(scanf("%d",&n),n)
{
printf("%d\n",sum[n]*-);
}
return ;
}
Uva 10820 交表的更多相关文章
- UVa 10820 (打表、欧拉函数) Send a Table
题意: 题目背景略去,将这道题很容易转化为,给出n求,n以内的有序数对(x, y)互素的对数. 分析: 问题还可以继续转化. 根据对称性,我们可以假设x<y,当x=y时,满足条件的只有(1, 1 ...
- UVa 10820 - Send a Table(欧拉函数)
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...
- uva 10820
/* 交表 _________________________________________________________________________________ #include < ...
- 17115 ooxx numbers 交表
17115 ooxx numbers 时间限制:1000MS 内存限制:65535K提交次数:0 通过次数:0 题型: 编程题 语言: G++;GCC Description a number ...
- jsp-提交表单时,select的值无法传递
属性为"disabled",提交表单时,select的值无法传递,移除disabled属性,<input name="id" type="tex ...
- UVa 10820 - Send a Table
题目:找到整数区间[1.n]中全部的互质数对. 分析:数论,筛法,欧拉函数.在筛素数的的同一时候.直接更新每一个数字的欧拉函数. 每一个数字一定会被他前面的每一个素数筛到.而欧拉函数的计算是n*π(1 ...
- jsp--提交表单→插入数据库→成功后返回提示信息
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="u ...
- jsp-提交表单乱码解决
jsp提交表单有两种方式,一种是get,一种是post,对于两种方式都可能出现乱码,以下给出两种乱码方式的解决方案. 1.post提交解决乱码 //设置解码方式,post提交解决乱码 比较简单 req ...
- SpringMVC--提交表单
今天使用AbstractCommandController做一个提交表单的样例 (1)首先,建立一个User.java package com.zk.domain; import java.util. ...
随机推荐
- python3+selenium获取列表某一列的值
python3+selenium获取列表某一列的值 我们在坐自动化测试时,我们可能不想单纯的想验证一个选项卡,我们让脚本随机选择一个选项进行接下来的操作.例如我们想获取列表某一列的某一个数据(随机的) ...
- C++二维数组的动态声明
int **a = new int* [m] //分配一个指针数组,将其首地址保存在a中 . for(int i = 0; i < m; i++) //为指针数组的每个元素分配一 ...
- OS---存储器
1.存储器的层次结构 1.1 概述 理想情况下,存储器应当速度非常快.并且与处理器的速度匹配.容量大且价格低廉: 实际情况,无法满足上述三个条件: 于是在现在OS中,存储器采用 层次结构 来组织: ...
- python处理时间和日期
时间和日期 (图中错误修正:dt_obj.strftime(format)) import time, datetime 1. datetime obj 1) datetime dateti ...
- sqlserver 2012 部署详解
01,下载 官网下载: https://www.microsoft.com/zh-cn/download/details.aspx?id=29066 02,安装 检查系统环境配置 成功了就继续,其他的 ...
- python学习之可变不可变
在python的数据类型中,整数.字符串.元组是不可变的:而列表.字典是可变的.所以不用C的思维来修改一个整数,它相当于重新定义了一个整数(原来的被覆盖掉了),名字和原来一样,但与前面的同名变量没有一 ...
- inventor怎样卸载干净
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- XAMPP: Another web server is already running
nginx 和 xampp 一起使用的时候,如果 nginx先启动,然后 再启动 xampp的时候,就是修改了 http.conf也是会报如果错误 liaohb@ubuntu-xtn->$sud ...
- 分布式数据库sort那些事儿
待填. 收回之前的填坑时间. 计划永远没有变化快,所有周末都奉献上还是有干不完的活,待闲时再来填..
- 基础7 面向对象进阶与socket编程
1.静态方法(用得少)(解除某个函数跟类的关联,加了静态方法后,类便不能将类的参数传给静态方法函数了) class Dog(object): def __init__(self,name): @sta ...