0
点赞
收藏
分享

微信扫一扫

#P05801. 欧拉函数

西曲风 2022-01-10 阅读 13
c++

Description

表示小于n且与n互素的正整数的个数。

例如, (小于12且与12互素的正整数共有4个:1、5、7和11)。 现给出整数n(2<=n<2^31),要求计算 的值。

Format

Input

一个整数n

Output

仅一行,一个整数 。

Samples

输入数据 1

12

输出数据 1

4

代码如下:

#include<bits/stdc++.h>
//欧拉函数不用函数
using namespace std;
int main()
{
long long n,b,i;
cin>>n;
b=n;
for(i=2;i*i<=n;i++)
{
if(n%i==0){
b-=b/i;
while(n%i==0)n/=i;
}
}
if(n>1)b-=b/n;
cout<<b;
}
举报

相关推荐

0 条评论