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

HDU Romantic

题目大意:现在告诉你两个非负整数 a 和 b。找到满足 X*a + Y*b = 1 的非负整数 X 和整数 Y。如果没有这样的答案,请写 “sorry”。

思路:这是一道扩展欧几里得模板题,唯一容易错的就是 x 有可能是负数,要把它改成非负数。

a*x+b*y=gcd(a,b)=1成立,所以  a*(x+b)+b(y-a)=1 仍成立。

所以 x = (x+b)%b , y=(1-a*x)/b。

代码如下:

#include<bits/stdc++.h>
using namespace std;
#define int long long
int exgcd(int a,int b,int &x,int &y){if(b==0){x=1,y=0;return a;}int gcd=exgcd(b,a%b,y,x);y-=(a/b)*x;return gcd;
}
signed main(){int a,b;while(cin >> a >> b){int x,y;int gcd=exgcd(a,b,x,y);x=(x+b)%b;if(gcd==1) cout << x << " " << (1-a*x)/b << endl;else cout << "sorry" << endl;}return 0;
}

http://www.lryc.cn/news/465291.html

相关文章:

  • [每日一练]通过shift移动函数实现连续数据的需求
  • go 中的斐波那契数实现以及效率比较
  • 基于ASP.NET的小型超市商品管理系统
  • spdlog学习记录
  • linux替换某个文件的某段内容命令
  • 什么是SQL注入攻击?如何防止呢?
  • consumer 角度讲一下i2c外设
  • 面试经典150题刷题记录
  • 【HarmonyOS NEXT】实现保存base64图片到图库
  • 开题答辩最怕被问什么?教你用ChatGPT轻松准备,稳拿高分!
  • Unity3D功耗和发热分析与优化详解
  • 深度学习中的掩码介绍
  • rust高级进阶总结
  • 整理—计算机网络
  • 分布式数据库环境(HBase分布式数据库)的搭建与配置
  • 100个JavaWeb(JDBC, Servlet, JSP)毕业设计选题
  • 05 go语言(golang) - 常量和条件语句
  • 【设计模式】深入理解Python中的适配器模式(Adapter Pattern)
  • RuoYi-Vue若依框架-后端设置不登陆访问(白名单)
  • C语言初阶小练习2(三子棋小游戏的实现代码)
  • 金融行业合同管理如何利用AI技术进行风险预警?
  • 世界数字农业盛宴与技术探索,25年3月聚焦世界灌溉科技大会
  • 二百六十九、Kettle——ClickHouse清洗ODS层原始数据增量导入到DWD层表中
  • Maya---骨骼绑定
  • 携手并进,智驭教育!和鲸科技与智谱 AI 签署“101 数智领航计划”战略合作协议
  • 牛客周赛63
  • git restore恢复删除文件
  • MacOS13虚拟机VMware Workstation Pro 16安装
  • docker 数据管理,数据持久化详解 一
  • 【ios】使用TestFlight将app分发给测试人员(超详细)