其他分享
首页 > 其他分享> > #P05801. 欧拉函数

#P05801. 欧拉函数

作者:互联网

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;
}

标签:12,正整数,函数,long,互素,整数,P05801,欧拉
来源: https://blog.csdn.net/m0_61224031/article/details/122419718