当前位置: 首页 > news >正文

四川泸州做网站的公司做国外网站用国内服务器

四川泸州做网站的公司,做国外网站用国内服务器,wordpress 安全扫描,企业网页建设公司咨询电话在数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(不包括1) 题目 思路 有三个点比较特殊(因为一来这三个点一定可见,同时也无法用gcd 1判断):(0&am…

在数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(不包括1)

题目

在这里插入图片描述

思路

  • 有三个点比较特殊(因为一来这三个点一定可见,同时也无法用gcd == 1判断):(0,1)、(1,0)、(1,1)
  • 对于其他点,我们发现只要 g c d ( x , y ) = = 1 gcd(x,y) == 1 gcd(x,y)==1,那就可见,有一类特例就是 x = = y x == y x==y(但是也无妨,因为欧拉函数不算1,算自身,我们可以看作不算自身,算1)
  • 我们对称地考虑,考虑 x > y x > y x>y的情况,枚举 x x x,计算欧拉函数的值,累加,最后乘2,注意加上上面的三个特例
  • 如何计算欧拉函数呢?
    • 做法一:就是利用质因数分解,这个比较麻烦,每次使用都要调用计算
    • 做法二:在欧拉筛的过程中,进行计算,分为四类处理
      • 处理 φ ( 1 ) = 1 \varphi(1) = 1 φ(1)=1
      • 处理 φ ( p ) = p − 1 , p i s a p r i m e \varphi(p) = p-1\;,\; p \;is \;a \;prime φ(p)=p1,pisaprime
      • 处理 φ ( z ∗ p ) = φ ( z ) ⋅ p , z m o d p = = 0 \varphi(z*p) = \varphi(z) \cdot p\;,\; z \mod p == 0 φ(zp)=φ(z)p,zmodp==0
        • φ ( z ∗ p ) \varphi(z*p) φ(zp) 起手的 n n n φ ( z ) \varphi(z) φ(z)多了 p
      • 处理 φ ( z ∗ p ) = φ ( z ) ⋅ ( p − 1 ) , z m o d p ≠ 0 \varphi(z*p) = \varphi(z) \cdot (p-1)\;,\; z \mod p \neq0 φ(zp)=φ(z)(p1),zmodp=0
        • φ ( z ∗ p ) \varphi(z*p) φ(zp) 起手的 n n n φ ( z ) \varphi(z) φ(z)多了 p,同时还要考虑一个新的质因数 p p p


代码

质因数分解版

#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
int get_phi(int n)
{int ans = n;for(int i = 2; i*i <= n; i++){if(n % i == 0){ans = ans * (i-1) / i;while(n % i == 0) n /= i;}}if(n > 1) ans = ans * (n-1) / n;return ans;
}int main()
{int t;cin >> t;int cnt = 0;while(t--){int n;cin >> n;int res = 3;for(int x = 2; x <= n; x++){res += 2*get_phi(x);}cout << ++cnt << ' ' << n << ' ' << res << '\n';}return 0;
}

欧拉筛版

#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
int primes[N], idx;
bool st[N];
int phi[N];
void get_primes(int n)
{phi[1] = 1;for(int i = 2; i <= n; i++){if(!st[i]){primes[++idx] = i;phi[i] = i-1;}for(int j = 1; primes[j]*i <= n; j++){st[primes[j]*i] = true;if(i % primes[j] == 0){phi[primes[j]*i] = phi[i] * primes[j];break;}phi[primes[j]*i] = phi[i] * (primes[j] - 1);}}
}
int main()
{get_primes(1000);int t;cin >> t;int cnt = 0;while(t--){int n;cin >> n;int res = 3;for(int x = 2; x <= n; x++){res += 2*phi[x];}cout << ++cnt << ' ' << n << ' ' << res << '\n';}return 0;
}
http://www.yayakq.cn/news/671123/

相关文章:

  • 网站排名优化服务商网站开发有什么软件
  • 昆明建网站电话克拉玛依建设局网站6
  • 怎么做网站发布广东建设网站
  • 如何做视频网站赚钱南通网站建设排名公司哪家好
  • 新建的网站 找不到了专做毕业设计的网站
  • 档案网站建设的意义做足球预测的网站
  • 优秀简洁网站设计工业设计网页
  • 桂林旅游网站建设后端网站开发遇到的难题解决
  • sae 网站模板个人建立网站要多少钱
  • 营销型网站需要注意推荐几个没封的网站2021
  • 使用net域名的大网站ui设计培训班怎么样
  • 哪里有做投票的网站购物网站的排版
  • wordpress 采集教程北京债务优化公司
  • 怎样给网站做优化淘宝网站上的图片是怎么做的
  • 湘潭企业网站建设 p磐石网络一个大型网站建设得多少钱
  • 浏阳 做网站超级简历网站
  • 做车贷的网站代理公司注册网站
  • 湖州网站建设培训教程网站开发需要学习
  • 做卡盟网站赚钱吗如何做自己的博客网站
  • 学计算机的做网站的叫什么工作网站建设与运营财务预算
  • 网站优化工具北京朝阳区
  • 个人网站可以做企业网站吗开发小程序流程
  • 网站的配色方案杭州网络推广公司那家好
  • 铁岭网络推广网站建设四川省的建设厅注册中心网站首页
  • 锦州网站建设排行榜智通人才网招聘网东莞官网
  • 优化网站 提高查询网站开发需求图
  • 全屏响应式网站贵州建设厅网站办事大厅
  • 淘宝联盟个人网站怎么做网站页面设计培训
  • 金湖县城乡建设局网站找南昌兼职做网站的
  • 如何网站开发深圳双区建设