hdu 1576
2024-09-01 00:59:24
老生常谈的问题 利用同余的思想 抽象出表达式 bx+9973y=n
然后用bx+9973y=1(题目给出了gcd(b,9973)=1) 求出基础解 y0
bx+9973y=n 的 基础解y=n*y0 接下来就是将y定位在0~9973这个区间里面、
#include <cstdio>
#include <iostream>
#include <string>
using namespace std;
typedef long long ll;
ll exgcd(ll a,ll b,ll &x,ll &y)
{
if(b==)
{
x=;
y=;
return a;
}
ll temp=exgcd(b,a%b,y,x);
y-=(a/b)*x;
return temp;
}
int main()
{
int t;
cin>>t;
while(t--)
{
ll n,b;
cin>>n>>b;
ll x,y;
ll g=exgcd(b,,x,y);
ll t=/g;// t为最小间距
x=(x*(n/g)%t+t)%t;// 求解最小正整数解的过程
cout<<x<<endl;
}
return ;
}
最新文章
- 《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(三)
- css外边距margin
- react路由案例(非常适合入门)
- Linux系统下Redis安装(二)
- leetcode 133. Clone Graph ----- java
- java:I/O 一行一行读取和写入
- Spark Accumulators
- ADO.NET复习总结(2)--连接池
- MySQL二进制日志binlog简单使用
- 《深入理解Java虚拟机》-----第6章 类文件结构——Java高级开发必须懂的
- SpringBoot 上传文件夹
- python迭代器与生成器详解
- python time模块介绍(日期格式化 时间戳)
- AITP
- Netty原理分析
- android中XRecyclerView控件的使用
- Netstat命令详解(windows下)
- Windows 下安装和配置 MongoDB(二)
- spring 事务配置
- 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击