POJ-2407-Relatives-欧拉函数
2015-10-27 09:18
337 查看
题意:给<1000000000,求小于等于n且与n互质的元素的个数
就是欧拉函数应用
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <iostream>
#include <queue>
#include <map>
#include <set>
#include <vector>
using namespace std;
int main()
{
int n,ans,i;
while(scanf("%d",&n)!=EOF)
{
if (!n) break;
int tmp=n;
for(i=2,ans=n;i*i<=n;i++)
{
if (n%i==0)
{
ans=ans-ans/i;
n/=i;
while(n%i==0)
n/=i;
}
}
if (n!=1)
ans=ans-ans/n;
printf("%d\n",tmp==1?0:ans);
}
return 0;
}
就是欧拉函数应用
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <iostream>
#include <queue>
#include <map>
#include <set>
#include <vector>
using namespace std;
int main()
{
int n,ans,i;
while(scanf("%d",&n)!=EOF)
{
if (!n) break;
int tmp=n;
for(i=2,ans=n;i*i<=n;i++)
{
if (n%i==0)
{
ans=ans-ans/i;
n/=i;
while(n%i==0)
n/=i;
}
}
if (n!=1)
ans=ans-ans/n;
printf("%d\n",tmp==1?0:ans);
}
return 0;
}
相关文章推荐
- 源码推荐(10.27):完美版瀑布流,3DTouch Demo
- BOM字符串匹配算法
- 修正ECMALL在PHP5.3以上版本中无法开启支付方式的BUG
- 视频监控相关研究方向
- mysql select into table
- 红楼lstm训练后自动生成
- 如何在 CentOS 中设置 NTP 服务器
- 查看sqlserver默认的编码格式
- Latent semantic analysis note(LSA)
- 一些数据和记录
- linux学习-man、info、nano、关机重启
- java 类的实例化
- php异步学习(1)
- todoList
- 简单谈谈MVC模式
- Python学习基础篇(一)
- Linux学习总结之旅-1、在Vmware中安装CentOS-6.5
- 2015 南阳ccpc The Battle of Chibi (uestc 1217)
- Deep Learning: Doubly Easy and Doubly Powerful with GraphLab Create
- C# 对文本文件的几种读写方法总结