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 }

最新文章

  1. Email系列(QQ邮箱 + 含附件的邮箱案例 + 项目实战)
  2. Java 理论与实践: 正确使用 Volatile 变量--转
  3. PKCS#1规范阅读笔记2--------公私钥ASN.1结构
  4. Greenplum failed segment的恢复方法
  5. TCP的流量控制和拥塞控制
  6. linux创建git远程仓库
  7. Nginx的平滑重启和平滑升级
  8. Java为何大行其道
  9. python 面向对象设计思想发展史
  10. 前端笔记之JavaScript(五)关于数组和字符串那点事
  11. Windows Internals 笔记——线程
  12. react native 5.54 出ios版本遇到的坑(应该是在xcode10下才会有的吧)记录。。。。。。 据说5.7已经修复了
  13. JDBC&amp;Hibernate
  14. zookeeper的ACL权限控制
  15. [转] Nginx 配置 SSL 证书 + 搭建 HTTPS 网站教程
  16. SQL SERVR 逻辑函数
  17. Easyui + asp.net MVC 系列教程 第19-23 节 完成注销 登录限制过滤 添加用户
  18. [原][osg][osgEarth]关于在OE中使用物理引擎的调研
  19. 2016.5.57—— Remove Duplicates from Sorted List
  20. C#基础教程/适合初学者

热门文章

  1. Go的switch
  2. 痞子衡嵌入式:盘点国内RISC-V内核MCU厂商
  3. C++ folly库解读(二) small_vector —— 小数据集下的std::vector替代方案
  4. vue监听生命周期
  5. if...else和switch...case
  6. dubbo-zookeeper quick start
  7. C#正则实现匹配一块代码段
  8. 在ASP.NET Core中用HttpClient(一)——获取数据和内容
  9. P3160 [CQOI2012]局部极小值 题解(状压DP+容斥)
  10. 【Django必备01】——什么是Django框架?有什么优势?模块组成介绍。