[C++][算法基础]欧拉函数(常规求质数)

给定 n 个正整数 ,请你求出每个数的欧拉函数。

欧拉函数的定义

1∼N 中与 N 互质的数的个数被称为欧拉函数,记为 ϕ(N)。

若在算数基本定理中,N=...,则:

ϕ(N) = N×××...×

输入格式

第一行包含整数 n。

接下来 n 行,每行包含一个正整数

输出格式

输出共 n 行,每行输出一个正整数 的欧拉函数。

数据范围

1≤n≤100,

1≤ai≤2×

输入样例:
复制代码
3
3
6
8
输出样例:
复制代码
2
2
4

代码:

cpp 复制代码
#include<iostream>
using namespace std;
int n,x;

int main(){
    cin>>n;
    while(n--){
        cin>>x;
        int res = x;
        for(int i = 2;i <= x / i;i ++){
            if(x % i == 0){
                res = res / i * (i - 1);
                while(x % i == 0){
                    x /= i;
                }
            }
        }
        if(x > 1){
            res = res / x * (x - 1) ;
        }
        cout<<res<<endl;
    }
    return 0;
}
相关推荐
qq_254617775 小时前
attribute((constructor)) 在C/C++中的应用
开发语言·c++
云深麋鹿5 小时前
C++ | 多态
开发语言·c++
生信研究猿5 小时前
#P4625.第2题-大模型训练显存优化算法
算法
逻辑驱动的ken5 小时前
Java高频面试考点14
开发语言·数据库·算法·哈希算法
故事还在继续吗5 小时前
C++17关键特性
开发语言·c++·算法
Rabitebla5 小时前
【数据结构】消失的数字+ 轮转数组:踩坑详解
c语言·数据结构·c++·算法·leetcode
菜菜的顾清寒5 小时前
力扣100(20)旋转图像
算法·leetcode·职场和发展
Navigator_Z5 小时前
LeetCode //C - 1025. Divisor Game
c语言·算法·leetcode
深念Y5 小时前
王者荣耀与英雄联盟数值设计对比:穿透、乘算与加算、增伤乘算更厉害,减伤加算更厉害
数学·算法·游戏·建模·游戏策划·moba·数值
budingxiaomoli5 小时前
优选算法-多源bfs解决拓扑排序问题
算法·宽度优先