当前位置: 首页 > news >正文

欧拉函数模板

1.欧拉函数模板 - 蓝桥云课

问题描述

这是一道模板题。

首先给出欧拉函数的定义:即 Φ(n) 表示的是小于等于 n 的数中和 n 互质的数的个数。

比如说 Φ(6)=2,当 n 是质数的时候,显然有 Φ(n)=n−1。

题目大意:

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

输入格式

输入共两行。

第一行输入一个整数表示 n。

第二行输入 n 个整数。

输出格式

输出共 n 行,每行输出 1 个整数表示对应数字的欧拉函数。

样例输入

3
3 6 8

样例输入

2
2
4

说明

小于等于 3 的数中与 3 互质的有:1, 2。

小于等于 6 的数中与 6 互质的有:1, 5。

小于等于 8 的数中与 8 互质的有:1, 3, 5, 7。

评测数据规模

保证对于所有数据有:

1≤n≤100,输入的 n 个整数范围为 [1,2×109] 。

思路:

模板
代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void calc(ll x)
{
    //分解质因数,根据欧拉函数公式求值
    ll res = x;
    for(ll i = 2 ; i <= x / i ; i++)
	{
        if(x % i == 0)
		{
            while(x % i == 0)
			{
                x = x / i;
            }
            res = res / i*(i-1);
        }

    }
    if(x > 1) 
	res=res/x*(x-1);
    cout << res << " ";
}
int main()
{
    ll n;
    cin >> n;
    while(n--)
	{
        ll x;
        cin >> x;
        calc(x);
    }
    return 0;
}

相关文章:

  • 【Java设计模式】第1章 课程导学
  • Rust 是如何层层防错的
  • TDengine.C/C++ 连接器
  • 幻兽帕鲁(Palworld)在线工具集:让游戏体验更轻松!
  • HOOPS Visualize:跨平台、高性能的三维图形渲染技术解析
  • 基于STM32与应变片的协作机械臂力反馈控制系统设计与实现---5.1 工业机械臂实验平台系统化搭建指南
  • AIDD-人工智能药物设计-网络药理学-多组学与网络药理学分析揭示龟龄集治疗少精症的机制
  • er图讲解
  • 蓝桥杯嵌入式十四届模拟一(eeprom)
  • 【AI开源大模型工具链ModelEngine】【01】应用框架-源码编译运行
  • redis数据迁移之通过redis-dump镜像
  • C# 基本语法
  • 不同PHP框架之间的兼容性问题及应对策略!
  • DeepSeek+HTML打造英语单词游戏,学习娱乐两不误!
  • AI 智能测试平台:自动进行需求分析 测试建模 测试用例 测试报告「详细介绍」
  • Java中的ArrayList方法
  • 小说现代修仙理论​
  • 深入解析 Linux 文件系统权限:从基础到高级实践
  • 40--华为IPSec VPN实战指南:构建企业级加密通道
  • 京东店铺托管7*16小时全时护航