UVA10820:Send a Table(交表)

标签: uva acm
426人阅读 评论(0) 收藏 举报
分类:

作者:xq的acm之路

题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=850&page=show_problem&problem=1761

题目大意:给出n,算出小于等于n的所有数中,有几对互质;

思路:对每个数打表,用到欧拉函数,,

欧拉函数用法链接:http://baike.baidu.com/link?url=aTmm1sX9BrRYZCdrwKtZ5wo-DJ546SpESQURBPIT7eMcKcCrl2Yy0pnNGjN410vJNQt4LYaOT4rrhzJKSwEdQQz7oAgWe9gtGAINUIO2bEwEBxfYfLyBm8o1C5ZNXdiT

代码如下:

#include <iostream>
#include <cstring>

using namespace std;
int phi[50005];
int n;
void solve()
{
    memset(phi,0,sizeof(phi));
    phi[1]=1;
    for(int i=2; i<=50005; i++)
    {
        if(!phi[i])
        {
            for(int j=i; j<=50005; j+=i)
            {
                if(!phi[j])
                    phi[j]=j;
                phi[j]=phi[j]/i*(i-1);
            }
        }
    }
    for(int i = 2 ; i <= 50005 ; i++)
    {
        phi[i] += phi[i - 1];
    }
}
int main()
{
    solve();
    while(cin>>n&&n)
    {
        cout<<2*phi[n]-1<<endl;
    }
    return 0;
}
查看评论

UVa10820 - Send a Table

输入n,求有多少个二元组满足1 设满足x 对照欧拉函数定义:f(n) = phi(2)+phi(3)+。。。+phi(n) 时间复杂度O(nloglogn) 欧拉函数: n = ...
  • a197p
  • a197p
  • 2015-05-02 13:26:50
  • 341

uva10820 - Send a Table(交表)

题意很明了,,就不说题意了,,, 对于这个题来说,我们可以求出所有的互质二元组(i!=j)的个数,然后乘以2,就是把互质二元组:的个数也加上。对于再特殊处理一下就好了, 一开始暴力做的。跑个100...
  • shankeliupo
  • shankeliupo
  • 2013-05-14 19:35:00
  • 559

Send a Table uva10820

题意: 求区间[1-n]的所有互质的对的对数,其中(2,3)与(3,2)记为两对 思路: 筛法求救欧拉函数 求出y以前与其互斥的x,用p记录 对于求n以前与其互斥的数的个数,有函数n/i*(...
  • deepquiet
  • deepquiet
  • 2016-02-28 19:09:25
  • 137

uva10820 Send a Table

问题转化+欧拉函数
  • sdfzyhx
  • sdfzyhx
  • 2016-08-30 15:49:05
  • 176

UVa10820 - Send a Table(phi)

题目链接简介: 有某个函数f(x,y),根据f(x,y)可以很简单的算出f(x*k,y*k) 现在的问题是,要想算出0 < x,y ...
  • wu_tongtong
  • wu_tongtong
  • 2017-10-28 19:47:40
  • 76

uva10820 - Send a Table 欧拉函数

Problem A Send a Table Input: Standard Input Output: Standard Output   When participating inpro...
  • corncsd
  • corncsd
  • 2013-11-23 10:28:19
  • 479

UVA10820 - Send a Table(欧拉函数)

UVA10820 - Send a Table(欧拉函数) 题目链接 题目大意:给你N,对于1-N里面的每个数x,计算1-N里面与x互质的个数m。最后就将2*m- 1都加起来。因为(x,x...
  • u012997373
  • u012997373
  • 2014-11-09 16:44:31
  • 351

【数论】Send a Table, UVa10820 【线性筛法】【欧拉函数】

#include using namespace std; int n;typedef long long LL; int phi[50005]; void getphi(int m){ phi[1...
  • qq_33583069
  • qq_33583069
  • 2016-10-11 11:45:21
  • 203

例题10-7 交表 UVa10820

1.题目描述:点击打开链接 2.解题思路:本题实质上是要求满足1≤x,y≤n,且x,y互素的个数。除了(1,1)外,其余的x,y各不相同。设x 3.代码: #define _CRT_SECURE...
  • u014800748
  • u014800748
  • 2015-02-24 23:34:51
  • 504
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 894
    排名: 5万+