老生常谈的问题 利用同余的思想 抽象出表达式  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 ;
}

最新文章

  1. 《利用python进行数据分析》读书笔记--第七章 数据规整化:清理、转换、合并、重塑(三)
  2. css外边距margin
  3. react路由案例(非常适合入门)
  4. Linux系统下Redis安装(二)
  5. leetcode 133. Clone Graph ----- java
  6. java:I/O 一行一行读取和写入
  7. Spark Accumulators
  8. ADO.NET复习总结(2)--连接池
  9. MySQL二进制日志binlog简单使用
  10. 《深入理解Java虚拟机》-----第6章 类文件结构——Java高级开发必须懂的
  11. SpringBoot 上传文件夹
  12. python迭代器与生成器详解
  13. python time模块介绍(日期格式化 时间戳)
  14. AITP
  15. Netty原理分析
  16. android中XRecyclerView控件的使用
  17. Netstat命令详解(windows下)
  18. Windows 下安装和配置 MongoDB(二)
  19. spring 事务配置
  20. 入门系列之使用fail2ban防御SSH服务器的暴力破解攻击

热门文章

  1. group by用法提示:select涉及字段规则
  2. Spring创建对象的方法
  3. 第10组Alpha冲刺(3/4)
  4. 3299 Humidex
  5. MySql workbeach 更改侧边栏大小
  6. PHP格式化数字和SMARTY格式化数字的方法
  7. [mybatis]传值和返回结果
  8. 前端需要掌握的Babel知识
  9. iscsi序列一、搭建iscsi存储系统
  10. Spark任务踩到的坑