【快速幂、欧拉函数】蓝桥杯第十四届---互质数的个数

给定 a, b,求 1 ≤ x < a^b 中有多少个 x 与 a^b 互质。由于答案可能很大,你只需要输出答案对 998244353 取模的结果。

输入格式

输入一行包含两个整数分别表示 a, b,用一个空格分隔。

输出格式

输出一行包含一个整数表示答案。

样例输入

2 5

样例输出

16

提示

对于 30% 的评测用例,a^b ≤ 10^6 ;

对于 70% 的评测用例,a ≤ 106,b ≤ 10^9 ;

对于所有评测用例,1 ≤ a ≤ 10^9,1 ≤ b ≤ 101^8 。

#include<iostream>
using namespace std;
typedef long long LL;
const int mod=998244353;
LL quick_pow(LL a,LL b){LL res=1;while(b){if(b&1) res=res*a%mod;a=a*a%mod;b>>=1;}return res;
}
LL eu(LL n){LL res=n;for(LL i=2;i<=n/i;i++){if(n%i==0){res=res*(i-1)/i%mod;while(n%i==0) n/=i;}}if(n>1) res=res*(n-1)/n%mod;return res;
}
int main(){LL a,b;cin>>a>>b;LL n=quick_pow(a,b);cout<<eu(n)%mod<<endl;return 0;
}

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

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

相关文章

Windows 设置多显示器显示

Windows 设置多显示器显示 1. Windows 7 设置 HDMI 输出2. Windows 11 设置多显示器显示References 1. Windows 7 设置 HDMI 输出 2. Windows 11 设置多显示器显示 ​​​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

畅谈AIGC,ISIG-AIGC技术与应用发展峰会成功举办

3月16日&#xff0c;第四届ISIG中国产业智能大会在上海中庚聚龙酒店如期开幕&#xff0c;此次大会由苏州市金融科技协会指导、企智未来科技&#xff08;RPA中国、LowCode低码时代、AIGC开放社区&#xff09;主办。大会聚集了来自不同领域的专家学者、行业领军人物及技术研发者&…

Linux系统——nload命令

目录 引言 一、nload安装 二、nload命令详解 1.命令使用 2.命令详解 3.命令选项 3.1-u选项 nload -u h 自动变更单位&#xff0c;Bit/s nload -u H 自动变更单位&#xff0c;Byte/s 3.2-m选项 nload -m 不显示流量图 nload -m -H ens33 不显示流量图&#xff0c;以By…

c++的学习之路:1、学习前言

一、什么是c C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c;规模较大的程序&#xff0c;需要高度的抽象和建模时&#xff0c;C语言则不合适。为了解决软件危机&#xff0c; 20世纪80年代&#xff0c; 计算机界提出了OOP(object …

[AIGC] OkHttp:轻松实现网络请求

OkHttp&#xff1a;轻松实现网络请求 当我们需要在应用程序中进行HTTP网络请求时&#xff0c;Java的标准库可以提供基本的功能&#xff0c;但使用起来却不那么方便。OkHttp是一款开源的网络请求库&#xff0c;它能够简化网络请求的工作&#xff0c;提高了工作效率。我们将从&q…

<sa8650>sa8650 memory-之-内存参数分析

<sa8650>sa8650 memory-之-内存参数分析 1、前言2、内存分解 (Memory Breakdown)3、QNX 分割堆( QNX Carveout Heaps)4、主要分割方案说明--深入了解 QNX 分割方案(Description of Major Carveouts – Deep Dive on QNX Carveouts)5、配置内存分区大小(Configure Memory Pa…

深度学习训练前标准的LMDB文件(data.mdb和lock.mdb)制作(附代码)

目录 一、LMDB文件二、准备训练集三、安装basicsr包四、LMDB文件制作4.1 参数修改4.2 其它格式图片修改4.3 代码4.4 转换结果4.4.1 data.mdb文件4.4.2 lock.mdb文件4.4.3 meta_info.txt文件 五、总结 一、LMDB文件 在训练的时候使用LMDB 存储形式可以加快IO 和CPU 解压缩的速度…

点餐小程序开发:如何通过抽奖与消费者互动

随着科技的发展&#xff0c;越来越多的商家开始使用点餐小程序来提升自己的服务质量和效率。然而&#xff0c;仅仅提供点餐服务并不能满足消费者的需求&#xff0c;他们还需要一种方式来增加与商家的互动&#xff0c;提高消费体验。抽奖活动就是一种非常有效的互动方式&#xf…

FreeRTOS 消息队列

1. 队列简介 1.1 队列的概念 队列是任务到任务、任务到中断、中断到任务数据交流的一种机制&#xff08;消息传递&#xff09; 类似全局变量&#xff1f;假设有一个全局变量a 0&#xff0c;现有两个任务都在写这个变量 a&#xff1a; 大家想象一下如果任务 1 运行一次&#…

[NOIP1998 提高组] 拼数

[NOIP1998 提高组] 拼数 题目描述 设有 n n n 个正整数 a 1 … a n a_1 \dots a_n a1​…an​&#xff0c;将它们联接成一排&#xff0c;相邻数字首尾相接&#xff0c;组成一个最大的整数。 输入格式 第一行有一个整数&#xff0c;表示数字个数 n n n。 第二行有 n n …

一些刷题需要用的大数据

无符号版本和有符号版本的区别就是有符号类型需要使用一个bit来表示数字的正负。 如果需声明无符号类型的话就需要在类型前加上unsigned。 整型的每一种都分为&#xff1a;无符号&#xff08;unsigned&#xff09;和有符号&#xff08;signed&#xff09;两种类型&#xff08;f…

Day76:WEB攻防-Fuzz模糊测试篇JS算法口令隐藏参数盲Payload未知文件目录

目录 Fuzz技术-用户口令-常规&模块&JS插件 无验证码密码明文 无验证码密码弱加密(MD5) 无验证码密码复杂加密(通过js文件进行加密) Fuzz技术-目录文件-目录探针&文件探针 Fuzz技术-未知参数名-文件参数&隐藏参数 Fuzz技术-构造参数值-漏洞攻击恶意Paylo…

分布式之Skywalking

Skywalking skywalking是一个apm系统&#xff0c;包含监控&#xff0c;追踪&#xff0c;并拥有故障诊断能力的 分布式系统 一、Skywalking介绍 1.什么是SkyWalking Skywalking是由国内开源爱好者吴晟开源并提交到Apache孵化器的产品&#xff0c;它同时吸收了Zipkin /Pinpoint …

Anaconda安装 (windowsLinux)

文章目录 Anaconda简介设置国内源pip || conda 一、Anaconda &#xff08;Windows系统&#xff09;1.1 下载及安装1.2 虚拟环境创建1.3 在Pycharm中配置conda的环境 二、Anaconda&#xff08;Linux系统&#xff09; Anaconda简介 conda是一个开源的包、环境管理器&#xff0c;可…

2024年【T电梯修理】模拟考试及T电梯修理模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 T电梯修理模拟考试是安全生产模拟考试一点通生成的&#xff0c;T电梯修理证模拟考试题库是根据T电梯修理最新版教材汇编出T电梯修理仿真模拟考试。2024年【T电梯修理】模拟考试及T电梯修理模拟考试题库 1、【多选题】…

Huggingface 笔记:大模型(Gemma2B,Gemma 7B)部署+基本使用

1 部署 1.1 申请权限 在huggingface的gemma界面&#xff0c;点击“term”以申请gemma访问权限 https://huggingface.co/google/gemma-7b 然后接受条款 1.2 添加hugging对应的token 如果直接用gemma提供的代码&#xff0c;会出现如下问题&#xff1a; from transformers i…

怎样修改grafana的Loading picture和加载的文本

登录装了grafana的linux机器 command “sudo vi /usr/share/grafana/public/views/index.html”&#xff0c;编辑配置文件。 找到.preloader__logo更改background-image. 这里可以是个url也可以是个路径。 如果想要更改加载的文字.可以更改 的内容 改完:wq保存以后退出&…

鸿蒙一次开发,多端部署(八)典型布局场景

虽然不同应用的页面千变万化&#xff0c;但对其进行拆分和分析&#xff0c;页面中的很多布局场景是相似的。本小节将介绍如何借助自适应布局、响应式布局以及常见的容器类组件&#xff0c;实现应用中的典型布局场景。 说明&#xff1a; 在本文 媒体查询 小节中已经介绍了如何通…

【JS】替换文本为emjio表情

最终效果展示 T1 T2 T3 T4 需求 把评论你好帅啊啊啊[开心][开心]&#xff0c;[开心] 替换为图片 思路 正则match提取[开心]到一个数组数组去重创建img标签img标签转文本. 。例&#xff1a;&#xff08;el.outerHTML&#xff09;&#xff0c;将el元素转文本字符串replaceAll…

pyintaller用法详解

本文使用创作助手。 pyinstaller是一个用于将Python脚本打包为独立可执行文件的工具。它可以将Python代码和依赖的库一起打包成一个可执行文件&#xff0c;这样就不需要安装Python解释器和相关依赖库即可运行脚本。 下面是pyinstaller的用法详解&#xff1a; 安装pyinstaller…