[HDU1787]GCD Again(根n求phi)
2016-04-01 14:17
489 查看
题目描述
传送门有超过108的数据,开LL
题解
根n求phi运用公式:ϕ(n)=n(1−1p1)(1−1p2)……(1−1pn)
代码
#include<iostream> #include<cstring> #include<cstdio> using namespace std; #define LL long long LL T,n,ans; inline LL phi(LL x){ LL ans=x; for (LL i=2;i*i<=x;++i) if (x%i==0){ ans=ans*(i-1)/i; while (x%i==0) x/=i; } if (x>1) ans=ans*(x-1)/x; return ans; } int main(){ while (~scanf("%lld",&n)){ if (!n) break; ans=n-1-phi(n); printf("%lld\n",ans); } }
相关文章推荐
- wait函数返回值总结
- Rails Assets Pipeline
- Rails服务器推送技术
- Rails应用部署
- Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missi
- 对人工智能中“极大极小值”的博弈算法的资料整理。
- mdadm命令及RAID的实现
- hdoj 4819 Mosaic 【二维线段树 单点更新 区间查询】
- div#container{ margin-left:auto; margin-right:auto; width:168px; }
- [CS231n-CNN] Training Neural Networks Part 1 : parameter updates, ensembles, dropout
- Autolayout约束动画化-Animating Autolayout Constraints
- CONTAINING_RECORD
- 217. Contains Duplicate
- 对包装类DataInputStream/DataOutputStream的应用
- LeetCode 336. Palindrome Pairs
- HDU-3065 病毒侵袭持续中 (fail指针)
- RAID的基本原理
- Error:(1, 0) Your project path contains non-ASCII characters.
- Debug Assertion Failed! (调出“调用栈”窗口)
- Error Domain class not found for name User