Relatives(容斥)
2024-10-19 07:50:01
Relatives
Time Limit: 1000MS | Memory Limit: 65536K | |
Total Submissions: 15708 | Accepted: 7966 |
Description
Given n, a positive integer, how many positive integers less than n are relatively prime to n? Two integers a and b are relatively prime if there are no integers x > 1, y > 0, z > 0 such that a = xy and b = xz.
Input
There are several test cases. For each test case, standard input contains a line with n <= 1,000,000,000. A line containing 0 follows the last case.
Output
For each test case there should be single line of output answering the question posed above.
Sample Input
7
12
0
Sample Output
6
4
Source
题解:通过这道题了解到了欧拉函数
欧拉函数可以求出小于n的质因数,则这题可以通过公式φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn为x的所有质因数,x是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。来求解。例如:
12=2*2*3
那么φ(12)=12*(1-1/2)*(1-1/3)=4)
AC代码:
1 #include<iostream>
2 #include<algorithm>
3 using namespace std;
4
5 int ans;
6
7 void solve(int x)
8 {
9 ans = x;
10 int ant = 0;
11 for(int i = 2; i*i < x; i++)
12 {
13 if(x%i == 0)
14 {
15 ans = ans / i * (i - 1);
16 }
17 while(x%i == 0) x /= i;
18 }
19
20 if(x > 1)
21 ans = ans/x*(x-1);
22 }
23
24 int main()
25 {
26 int n;
27 while(1)
28 {
29 cin >> n;
30 if(n == 0)
31 break;
32 solve(n);
33 cout << ans << endl;
34 }
35
36
37 return 0;
38 }
最新文章
- Email系列(QQ邮箱 + 含附件的邮箱案例 + 项目实战)
- Java 理论与实践: 正确使用 Volatile 变量--转
- PKCS#1规范阅读笔记2--------公私钥ASN.1结构
- Greenplum failed segment的恢复方法
- TCP的流量控制和拥塞控制
- linux创建git远程仓库
- Nginx的平滑重启和平滑升级
- Java为何大行其道
- python 面向对象设计思想发展史
- 前端笔记之JavaScript(五)关于数组和字符串那点事
- Windows Internals 笔记——线程
- react native 5.54 出ios版本遇到的坑(应该是在xcode10下才会有的吧)记录。。。。。。 据说5.7已经修复了
- JDBC&;Hibernate
- zookeeper的ACL权限控制
- [转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
- SQL SERVR 逻辑函数
- Easyui + asp.net MVC 系列教程 第19-23 节 完成注销 登录限制过滤 添加用户
- [原][osg][osgEarth]关于在OE中使用物理引擎的调研
- 2016.5.57—— Remove Duplicates from Sorted List
- C#基础教程/适合初学者
热门文章
- Go的switch
- 痞子衡嵌入式:盘点国内RISC-V内核MCU厂商
- C++ folly库解读(二) small_vector —— 小数据集下的std::vector替代方案
- vue监听生命周期
- if...else和switch...case
- dubbo-zookeeper quick start
- C#正则实现匹配一块代码段
- 在ASP.NET Core中用HttpClient(一)——获取数据和内容
- P3160 [CQOI2012]局部极小值 题解(状压DP+容斥)
- 【Django必备01】——什么是Django框架?有什么优势?模块组成介绍。