有理数取余

news/2025/2/10 20:18:44/文章来源:https://www.cnblogs.com/seventeen-/p/18708706

首先a,b,d的范围大的离谱,显然不能直接读入,所以一边读入一边取模,然后注意到19260817是一个素数,显然可以用费马小定理,a^(p-1)=1(mod p).但我这里的代码是取模的线性替换
`#include<stdio.h>

include

include

include<stdlib.h>

include<string.h>

include

include

using namespace std;

const int p = 19260817;

tuple<int, int, int> P_gcd(int a, int b) {
if (b == 0) return { a,1,0 };
auto [g, x1, y1] = P_gcd(b, a % b);
int x = y1;
int y = x1 - a / b * y1;
return { g,x,y };
}

int niyuan(int a, int p) {
auto [g, x, y] = P_gcd(a, p);
if (g != 1) return -1;
if (x < 0) x += p;
return x;
}

int main() {
int a=0,b=0;
char s[10007];
cin>>s;
int len = strlen(s);
for (int i = 0;i < len;i++) {
a = a * 10 + s[i]-'0';
a %= p;
}
cin>>s;
len = strlen(s);
for (int i = 0;i < len;i++) {
b = b * 10 + s[i]-'0';
b %= p;
}
int n = niyuan(b, p);
if (n == -1) printf("Angry!");
else {
//printf("%d %d %d\n", n, a, b);
n = 1ll * n *a% p;
printf("%d", n);
}
return 0;
}`

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

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

相关文章

智能化物资安全管理:AI视频监控在大型商场的技术方案介绍(part3)

项目背景:商场在运营中面临商品失窃的风险,需要通过技术手段实时预防偷窃行为,保护物资安全。 一、具体需求: 1、姿势与行为异常识别:检测顾客的异常行为,例如夹带物品、将商品从货架放入包中等动作。 2、异常行为检测:监控顾客长时间逗留、异常交互(如反复拿取同一物品…

JAVA之面向对象进阶

1、staticstatic表示静态,是java中的一个修饰符,可以修饰成员方法,成员变量。被static修饰的成员变量,叫做静态变量【特点:1.被该类所有对象共享 2.不属于对象,属于类 3.随着类的加载而加载,优先于对象存在 调用方式:1、类名调用(推荐) 2、对象名调用】 被static修饰…

小红书开源 FireRedASR 语音识别模型,3.05% 字错误率;Meta AI 脑电波打字模型:32% 字错误率

开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文章 」、「有看点的 会议 」,但内容仅代表编辑…

008 对象的扩展

1、属性的简洁表示法ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。let name ="iwen"const user={name,age:20} 除了属性简写,方法也可以简写const o ={method(){return"hello!";}}; //等同于 const o={method:f…

python uv stands for what?

python uv stands for what?uv 是 Python 生态中一个新兴的高性能工具,由 Rust 编写,旨在替代传统的 pip 和 venv。它由 Charlie Marsh(知名工具 Ruff 的开发者)主导开发,核心目标是解决 Python 包管理的速度和效率问题。 核心功能极速安装:比 pip 快 10-100 倍,依赖解…

构建智能汽车地图标准体系:自动驾驶技术的基石

随着智能汽车技术的快速发展,基础地图作为智能汽车不可或缺的组成部分,其标准化建设显得尤为重要。本文将探讨智能汽车基础地图标准体系的构建以及关键技术的研究进展。智能汽车基础地图的重要性智能汽车基础地图,也称为自动驾驶地图或高精地图,不仅包含静态地图信息,还涵…

【qt】切页控件

//切换方向enum class switchDirection{Horizontal, //水平Vertical //垂直};//动画模式enum class aniMode{Switch, //切换Cover //覆盖};//设置动画持续的间隔void setDuration(int ms);//设定动画模式void setAniMode(aniMode mode);aniMode getAniMode();//设定切页…

14. IO文件操作

一、为什么要使用文件我们之前写的程序在运行起来的时候,我们可以给程序增加或删除数据,此时的数据都是存在内存中。当程序执行完毕退出的时候,之前程序中增减或减少的数据就不存在了,等程序下一个运行的时候,数据又会重新录入。如果我们想把程序中的数据记录来,只有在我…

AI 重塑宗教体验,语音 Agent 能否成为突破点?

基于语音 AI 和 Voice Agent 的视角,推荐「硅谷科技评论」这篇关于宗教技术(FaithTech)与 AI 融合的深度分析,理由如下:1. 语音场景契合: 宗教及冥想类应用是典型的「解放双手」(handfree)(用户倾向于非屏幕交互)和深度情感连接的场景,天然适合语音及声音交互。2. L…

工位追溯系统-mes系统

1.系统除了数据库还有数采显示看板,如上图设备单元,有CP1E,FX3U,FX5U PLC,可以与上位机实时通信显示并监控设备状态。 2.看板主界面如上图,有当天计划产量.实际产量,有时段计划产量.实际产量,能够以图形方式显示。 3.按下上图每个显示单元状态…

CF786D

首先考虑怎么比较树上两个点对 \(x1,y1,x2,y2\) 中 \(str(x1,y1),str(x2,y2)\) 的大小关系,我们可以找到这两个串的 LCP 后比较下一个字符的大小关系,找两个串的 LCP 可以直接二分答案然后算出哈希值看是否相等,单次比较是 \(O({\log n}^2)\) 的。 我们使用点分治,假设当前…

男人八题-点分治-Acwing252.树

Acwing252.树题目分析 树中的路径分为三种路径两端在同一个子树 路径两端在不同子树 路径有一端是重心因此可以分情况处理, 对于第一种情况可以进行递归处理, 第二种情况需要使用容斥原理求得(下面重点介绍), 第三种情况枚举重心到其他节点的路径就可以求得 代码分析 求子树大小…