Acwing.3999 最大公约数(gcd欧拉函数)

news2024/11/23 20:52:29

题解

给定两个正整数 a,m,其中 a<m。

请你计算,有多少个小于 m 的非负整数 x满足:

gcd(a,m)=gcd(a+x,m)

输入格式

第一行包含整数 T ,表示共有 T 组测试数据。

每组数据占一行,包含两个整数 a,m 。

输出格式

每组数据输出一行结果,一个整数,表示满足条件的非负整数 x 的个数。

数据范围

前三个测试点满足,1≤T≤10 。 所有测试点满足,1≤T≤50 ,1≤a<m≤1010 。

  • 输入样例:
3
4 9
5 10
42 9999999967
  • 输出样例:
6
1
9999999966

题解

import java.util.Scanner;

/**
 * @author akuya
 * @create 2024-04-12-18:42
 */
public class GCDivisor {
    static int T;
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        T=scanner.nextInt();
        while(T--!=0){
            long a=scanner.nextLong();
            long  b=scanner.nextLong();
            long t=gcd(a,b);
            System.out.println(phi(b/t));

        }

    }

    public static long gcd(long a,long b){
        return b==0?a:gcd(b,a%b);
    }

//欧拉函数
    public static long phi(long m){
        long res=m;
        for(long i=2;i<=m/i;i++){
            if(m%i==0){
                while(m%i==0)m/=i;
                res=res/i*(i-1);
            }
        }

        if(m>1) res=res/m*(m-1);
        return res;
    }
}

思路

这道题其实就是考察数学推理,没有什么思路,根据推理我们得出,该题的结果为1-m所有与m互质的数,那么可以通过欧拉函数直接求解。
至于欧拉函数为什么这样写,不要问,直接背,理解一次之后也会忘。当然你是大佬可以看y总基础课中的视频详细了解欧拉函数。

推导过程如下图
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1589157.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年第十四届MathorCup数学应用挑战赛C题解析(更新中)

2024年第十四届MathorCup数学应用挑战赛C题解析&#xff08;更新中&#xff09; 题目题目解析(更新中&#xff09;问题一问题二问题三 题目 C题 物流网络分拣中心货量预测及人员排班电商物流网络在订单履约中由多个环节组成&#xff0c;图1是一个简化的物流 网络示意图。其中&a…

UI自动化测试案例

备注:本文为博主原创文章,未经博主允许禁止转载。如有问题,欢迎指正。 个人笔记(整理不易,有帮助,收藏+点赞+评论,爱你们!!!你的支持是我写作的动力) 笔记目录:笔记本~笔记目录_airtest和selenium那个好用-CSDN博客 个人随笔:工作总结随笔_8、以前工作中都接触过哪…

Ansys Zemax | 如何将光栅数据从Lumerical导入至OpticStudio(下)

附件下载 联系工作人员获取附件 本文介绍了一种使用Ansys Zemax OpticStudio和Lumerical RCWA在整个光学系统中精确仿真1D/2D光栅的静态工作流程。将首先简要介绍方法。然后解释有关如何建立系统的详细信息。 本篇内容将分为上下两部分&#xff0c;上部将首先简要介绍方法工作…

如何处理ubuntu22.04LTS安装过程中出现“Daemons using outdated libraries”提示

Ubuntu 22.04 LTS 中使用命令行升级软件或安装任何新软件时&#xff0c;您可能收到“Daemons using outdated libraries”&#xff0c;“Which services should be restarted?”的提示&#xff0c;提示下面列出备选的重启服务&#xff0c;如下。 使用以下命令&#xff0c;能够…

【C】动态规划 之 多维最大最小路径和

总结一下这类题型的思路&#xff1a; 每一步所求的最优解 上一步的最优解 这一步的情况 1.数字三角形 主要思路&#xff1a; 1.到达每一个位置的最大和等于前一步最大和加上这一位置的值&#xff0c;而前一步要么是从左上下来&#xff0c;要么是从右上下来&#xff0c;这样…

如何应对app应用程序或者网站常见的几种攻击类型

大家好&#xff0c;我是咕噜铁蛋&#xff01;今天&#xff0c;我想和大家聊聊一个我们日常生活中经常遇到的问题——如何应对app或者网站常见的几种攻击类型。随着互联网的普及&#xff0c;app和网站已经成为我们获取信息、交流互动的重要平台。然而&#xff0c;这些平台也时常…

障碍物识别技术赋能盲人独立出行:一场静默的科技革新

作为一名资深记者&#xff0c;我始终关注并报道那些科技如何助力特殊群体克服生活挑战的动人故事。近期&#xff0c;一款叫做蝙蝠避障的应用进入了我的视线&#xff0c;它搭载先进障碍物识别技术以其独特的优势&#xff0c;悄然为视障人士的独立出行带来了显著变革。 “障碍物识…

MXNet安装:专业指南与深度解析

一、引言 MXNet是一个高效且灵活的深度学习框架&#xff0c;它支持多种编程语言和平台&#xff0c;并提供了丰富的深度学习算法和工具。随着深度学习技术的广泛应用&#xff0c;MXNet因其出色的性能和易用性受到了越来越多开发者和研究人员的青睐。本文将详细介绍MXNet的安装过…

基于yolov9来训练人脸检测

YOLOv9是一个在目标检测领域内具有突破性进展的深度学习模型&#xff0c;尤其以其在实时性与准确性上的优秀表现而受到广泛关注。针对人脸检测这一特定任务&#xff0c;YOLOv9通过其架构创新和算法优化提供了强大的支持。 YOLOv9在继承了YOLO系列&#xff08;如YOLOv7、YOLOv8&…

【数据结构与算法】二分查找算法

目录 二分查找算法什么是二分查找算法整数二分法常用算法模板 二分查找算法例题例题一&#xff1a;分巧克力问题例题二&#xff1a;M次方根 二分查找算法 什么是二分查找算法 枚举查找即顺序查找*&#xff0c;实现原理是逐个比较数组 a[0:n-1] 中的元素&#xff0c;直到找到元…

NFT Insider #126:Azuki 创始人将探索使用 AnimeChain 向 NFT 所有者分配版税

引言&#xff1a;NFT Insider由NFT收藏组织WHALE Members &#xff08;https://twitter.com/WHALEMembers&#xff09;、BeepCrypto &#xff08;https://twitter.com/beep_crypto&#xff09;联合出品&#xff0c;浓缩每周NFT新闻&#xff0c;为大家带来关于NFT最全面、最新鲜…

互联网轻量级框架整合之设计模式

反射技术 Java的反射技术能够通过配置类的全限定名、方法和参数完成对象的初始化&#xff0c;甚至反射某些方法&#xff0c;大大的增强了Java的可配置型&#xff0c;这也是Spring IoC的底层原理&#xff0c;Java的反射技术覆盖面很广&#xff0c;包括对象构建、反射方法、注解、…

【Linux杂货铺】文件系统

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 硬盘 &#x1f4c2; 物理结构 &#x1f4c2; 存储结构 &#x1f4c2; CHS定址法 &#x1f4c2; 操作系统对硬盘的管理和抽象 &#x1f4c1; 文件系统 &#x1f4c2; 分区 &#x1f4c2; 分组 &#x1f4c2; inode号 分配…

十分钟到底能不能讲明白ROS到底能做啥

总结 录完视频发现十分钟不能&#xff0c;总共花了20分钟。 提纲&#xff1a; 课程、竞赛、论文Linux、C、Python、Github和ROS关联性强平台-资格和ROS关联性弱速度-成绩路径规划-全局和局部全局-侧重路径长短-找一条最优&#xff08;短&#xff09;的路局部-侧重速度控制-用…

LeetCode-72. 编辑距离【字符串 动态规划】

LeetCode-72. 编辑距离【字符串 动态规划】 题目描述&#xff1a;解题思路一&#xff1a;动规五部曲解题思路二&#xff1a;动态规划【版本二】解题思路三&#xff1a;0 题目描述&#xff1a; 给你两个单词 word1 和 word2&#xff0c; 请返回将 word1 转换成 word2 所使用的最…

【R语言从0到精通】-3-R统计分析(列联表、独立性检验、相关性检验、t检验)

上两次教程集中学习了R语言的基本知识&#xff0c;那么我们很多时候使用R语言是进行统计分析&#xff0c;因此对于生物信息学和统计科学来说&#xff0c;R语言提供了简单优雅的方式进行统计分析。教程参考《Rlearning》 3.1 描述性统计分析 3.1.1 载入数据集及summary函数 我…

安卓一键logo设计工具_V3.6.9.1 高级版

【分析】&#xff1a;LOGO设计软件&#xff0c;可以一键生成无版权的网站LOGO等等。 网盘自动获取 链接&#xff1a;https://pan.baidu.com/s/1lpzKPim76qettahxvxtjaQ?pwd0b8x 提取码&#xff1a;0b8x

看linux内核启动流程需要的arm汇编学习笔记(二)

文章目录 一、ldr1.地址偏移模式2.变基模式3.标签3.1 访问宏定义3.2 访问一个字符串3.3 访问一个data 二、ldp和stp1.双字节加载2.双字节存储3.双字节存储的后变基模式 三、位操作1. 移位2. 按位操作3. 位段插入4.位段提取5.零计数指令 四、跳转指令1. cmp比较两个数2. cmn负向…

redis怪谈

缓存穿透、击穿、雪崩 《缓存三兄弟》 穿透无中生有key&#xff0c;布隆过滤null隔离 缓存击穿过期key&#xff0c;锁与非期解难题 雪崩大量过期key&#xff0c;过期时间要随机 面试必考三 兄 弟&#xff0c;可用限流来保底 什么是缓存穿透 指查询一个一定不存在的数据&#x…

CRMEB多商户商城系统,不止B2B2C

CRMEB多商户商城系统&#xff0c;是将多个商家汇聚到一个平台上开店&#xff0c;就像常见的京东、淘宝等。这个平台上一般包含4种不同角色&#xff0c;即平台运营管理方、入驻商家、供应商、消费者。 因为平台角色的多元化&#xff0c;多商户商城系统也具有联营、自营、招商、…