首页 > 其他分享 >102 扩展欧几里得

102 扩展欧几里得

时间:2025-01-17 12:10:10浏览次数:1  
标签:return int 样例 欧几里得 扩展 exgcd 102

// 102 扩展欧几里得.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
/*

http://oj.daimayuan.top/course/21/problem/487
输入T,一共T组数据,每组两个数a,b
,输出ax−by=gcd(a,b)的最小非负整数解(x,y)。

输入格式
第一行一个数字T。

接下来T行,每行两个数字a,b。

输出格式
一共T行,每行两个数,表示x,y。

输入样例
2
1 2
100 150
输出样例
1 0
2 1
数据规模
对于100%
的数据,保证1≤T≤104,1≤a,b≤109。
*/


#include <iostream>


using namespace std;

int T, a, b;


int exgcd(int a, int b, int& x, int& y) {
	if (!b) {
		x = 1, y = 0;
		return a;
	}
	int d = exgcd(b, a % b, x, y);
	int t = y;
	y = x - a / b * y;
	x = t;

	return d;
}



void solve() {
	cin >> a >> b;
	int x, y;
	int d = exgcd(a, b, x, y);
	if (x < 0 || y>0) {
		x += b / d; y -= a / d;
	}
	y = -y;
	cout << x << " " << y << endl;
}


int main()
{
	cin >> T;
	while (T--) {
		solve();
	}

	return 0;
}

 

标签:return,int,样例,欧几里得,扩展,exgcd,102
From: https://www.cnblogs.com/itdef/p/18676687

相关文章

  • 如何解决IIS 7.5 中无扩展名文件访问导致的404错误?
    在使用IIS7.5时,如果尝试访问没有扩展名或后缀的文件(例如 index 而不是 index.html),可能会遇到404错误提示,表明服务器找不到该文件。这是因为IIS默认情况下不支持无扩展名文件的直接访问。为了解决这个问题,我们需要配置IIS以正确处理这些请求。解决方案要使IIS支持......
  • 解决 IDEA 编译报错:Error:(2048,1024) java: 找不到符号
    摘要在使用IntelliJIDEA开发Java项目时,“找不到符号”(Cannotfindsymbol)是一种常见的编译错误。本文将从初学者的角度,详细分析这一问题的可能原因,提供排查步骤,并附上代码示例,帮助你快速解决问题。引言“找不到符号”是Java编译器的一种错误提示,通常发生在......
  • 一文搞懂架构设计的衡量标准:功能性、可用性、性能、可扩展性、安全性、协作效率、复杂
    大家好,我是汤师爷~架构设计的首要目标是服务于业务需求。因此,我们不应该盲目追求所谓的"最厉害的"架构,而应该致力于寻找最适合当前业务环境和未来发展需求的架构方案。衡量架构的合理性是一个复杂的过程,需要从多个角度进行全面评估。主要可以从以下视角进行分析:功能需求视角:评......
  • .com 文件是 Windows 操作系统中的一种文件扩展名,通常指代 可执行文件。在早期的计算
    .com文件是Windows操作系统中的一种文件扩展名,通常指代可执行文件。在早期的计算机系统(如MS-DOS和早期版本的Windows)中,.com文件被广泛使用,它是一种用于执行程序的二进制文件格式。1. .com文件是什么?.com文件是一种二进制可执行文件,包含了程序代码,可以由操作系统直接......
  • 【代码随想录】刷题记录(102)-不同路径 II
    题目描述:给定一个 mxn 的整数数组 grid。一个机器人初始位于 左上角(即 grid[0][0])。机器人尝试移动到 右下角(即 grid[m-1][n-1])。机器人每次只能向下或者向右移动一步。网格中的障碍物和空位置分别用 1 和 0 来表示。机器人的移动路径中不能包含 任何 有......
  • 「Note」欧几里得算法全家桶
    一,欧几里得算法1.内容\(\gcd(a,b)=\gcd(b,a\modb)\)2.证明先假设\(a>b\),\(a=bx+y\),其中\(x=\lfloor\frac{a}{b}\rfloor,0\ley\ltb\)。也就是\(b\)除以\(a\)等于\(x\)余\(y\)。原命题就是\(\gcd(a,b)=\gcd(y,b)\)。由\(a=bx......
  • 每日学习30分轻松掌握CursorAI:Cursor插件系统与扩展功能
    Cursor插件系统与扩展功能一、课程概述今天我们将学习CursorAI的插件系统,了解如何通过插件扩展和增强IDE功能。由于CursorAI基于VSCode开发,我们可以利用丰富的VSCode插件生态系统。1.1学习目标了解插件系统原理掌握插件安装管理使用常用开发插件二、插件系统基础......
  • 如何在虚拟主机或IIS中增加JSON扩展名的MIME类型?
    在虚拟主机或IIS中增加JSON扩展名的MIME类型是确保服务器正确处理JSON文件的关键步骤。以下是针对IIS7及以上版本的具体操作方法和注意事项,帮助您顺利完成设置。操作步骤打开IIS管理器在服务器上启动IIS管理器,连接到目标站点。选择站点在左侧树形结构中,展开服务器节点......
  • 如何在虚拟主机或 IIS 中增加 JSON 扩展名的 MIME 类型?
    在虚拟主机或IIS中增加JSON扩展名的MIME类型,可以按照以下步骤进行:IIS7.0及以上版本打开IIS管理器:在服务器上打开IIS管理器。选择站点:在左侧树状结构中选择要配置的站点。进入MIME类型设置:在右侧操作面板中找到“MIME类型”并点击进入。添加......
  • 界面控件 DevExpress v24.2 新版亮点 - 自定义和扩展 AI 驱动的扩展
    DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpressDashboardeXpressApp框架、适用于VisualStudio的CodeRush等一系列辅助工具。屡获大奖的软件开发平台DevExpress今年第一个重要版本v23.1正式发布,该版本拥有众多新产品和数十个具有高影响力......