hdu 1787(欧拉函数)
2016-05-29 21:31
337 查看
GCD Again
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2874 Accepted Submission(s): 1240
[align=left]Problem Description[/align]
Do you have spent some time to think and try to solve those unsolved problem after one ACM contest?
No? Oh, you must do this when you want to become a "Big Cattle".
Now you will find that this problem is so familiar:
The
greatest common divisor GCD (a, b) of two positive integers a and b,
sometimes written (a, b), is the largest divisor common to a and b. For
example, (1, 2) =1, (12, 18) =6. (a, b) can be easily found by the
Euclidean algorithm. Now I am considering a little more difficult
problem:
Given an integer N, please count the number of the integers M (0<M<N) which satisfies (N,M)>1.
This
is a simple version of problem “GCD” which you have done in a contest
recently,so I name this problem “GCD Again”.If you cannot solve it
still,please take a good think about your method of study.
Good Luck!
[align=left]Input[/align]
Input
contains multiple test cases. Each test case contains an integers N
(1<N<100000000). A test case containing 0 terminates the input and
this test case is not to be processed.
[align=left]Output[/align]
For each integers N you should output the number of integers M in one line, and with one line of output for each line in input.
[align=left]Sample Input[/align]
2
4
0
[align=left]Sample Output[/align]
0
1
水题一枚
#include <stdio.h> #include <string.h> using namespace std; typedef long long LL; LL phi(LL x) { LL ans=x; for(LL i=2; i*i<=x; i++) if(x%i==0) { ans=ans/i*(i-1); while(x%i==0) x/=i; } if(x>1) ans=ans/x*(x-1); return ans; } int main(){ LL n; while(scanf("%lld",&n)!=EOF,n){ printf("%lld\n",n-phi(n)-1); } }
相关文章推荐
- Sticks<DFS>
- Socket实现两台手机通信,定向转发数据
- java compiler level does not match the version of the installed java project facet
- Minimum Size Subarray Sum
- php核心知识点
- 【面试】【MySQL常见问题总结】【02】
- 怎么判断百度网盘分享连接已经失效?其实没那么简单
- MySQL server has gone away 问题的解决方法
- FluentValidation
- 打印二叉树的所有路径
- 7+1道题
- SOCKET API和TCP STATE的对应关系__三次握手(listen,accept,connect)__四次挥手close及TCP延迟确认(调用一次setsockopt函数,设
- Logistic回归
- [NTT 原根 指标 多项式快速幂] BZOJ 3992 [SDOI2015]序列统计
- Android WebKit
- TCP/IP模型 ,Socket编程总结
- ubuntu 下搭建一个python3的虚拟环境(用于django配合postgresql数据库开发)
- git使用
- oracle的启动和关闭
- I/O复用(I/O multiplexing): select, pselect, poll, ppoll, epoll