NOIP2012 同余方程 题解
描写叙述
求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解。
格式
输入格式
输入仅仅有一行,包括两个正整数a, b,用一个空格隔开。
输出格式
输出仅仅有一行,包括一个正整数x0。即最小正整数解。
输入数据保证一定有解。
限制
每一个測试点1s
提示
对于40%的数据,2 ≤b≤ 1,000;
对于60%的数据,2 ≤b≤ 50,000,000;
对于100%的数据,2 ≤a, b≤ 2,000,000,000。
分析:
解同余方程。比較水
欧几里德算法
program mod1;
var
a,b,x,y:longint;
procedure gcd(a,b:longint);
var t:longint;
begin
if b<>0
then gcd(b,a mod b)
else begin
x:=1;
y:=0;
exit;
end;
t:=x;
x:=y;
y:=t-(a div b)*y;
end;
begin
readln(a,b);
gcd(a,b);
//writeln(x,' ',y);
writeln(((x mod b)+b)mod b);
end.
代码二:
program mod2;
procedure oujilide(a,b:int64;var d,x,y:int64);
begin
if b=0 then
begin
d:=a;
x:=1;
y:=0;
end
else
begin
oujilide(b,a mod b,d,y,x);
y:=y-x*(a div b);end;
end;
var
a,b,d,x,y:int64;
begin
assign(input,'mod.in');
reset(input);
assign(output,'mod.out');
rewrite(output);
readln(a,b);
oujilide(a,b,d,x,y);
while x<0 do
x:=x+b;
writeln(x);
close(input);
close(output);
end.
NOIP2012 同余方程 题解的更多相关文章
- 一本通1632【 例 2】[NOIP2012]同余方程
1632:[ 例 2][NOIP2012]同余方程 时间限制: 1000 ms 内存限制: 524288 KB [题目描述] 求关于 x 的同余方程 ax≡1(mod b) 的最小正整 ...
- 1265. [NOIP2012] 同余方程
1265. [NOIP2012] 同余方程 ★☆ 输入文件:mod.in 输出文件:mod.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] 求关于 x 的同余 ...
- 1632:【 例 2】[NOIP2012]同余方程
#include<bits/stdc++.h> #define ll long long using namespace std; void Exgcd(ll a,ll b,ll & ...
- [NOIP2012] 同余方程(第三次考试大整理)
1265. [NOIP2012] 同余方程 输入文件:mod.in 输出文件:mod.out 简单对比 时间限制:1 s 内存限制:128 MB [题目描述] 求关于 x 的同余方程 ax ...
- 【数学】【NOIp2012】同余方程 题解 以及 关于扩展欧几里得与同余方程
什么是GCD? GCD是最大公约数的简称(当然理解为我们伟大的党也未尝不可).在开头,我们先下几个定义: ①a|b表示a能整除b(a是b的约数) ②a mod b表示a-[a/b]b([a/b]在Pa ...
- luoguP1082 同余方程 题解(NOIP2012)(数论)
luoguP1082 同余方程 题目 #include<iostream> #include<cstdlib> #include<cstdio> #include& ...
- 【扩展欧几里得】NOIP2012同余方程
题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开. 输出格式: 输出只有一行,包含一个正 ...
- NOIP2012同余方程[exgcd]
题目描述 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入输出格式 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开 输出格式: 输出只有一行,包含一个正整 ...
- NOIP2012同余方程
描述 求关于 x的同余方程 ax ≡ 1(mod b) 的最小正整数解. 输入格式 输入文件 mod.in输入只有一行,包含两个正整数a,b,用一个空格隔开. 输出格式 输出文件 为 modmod ...
随机推荐
- Linux下安装JRE和Eclipse IDE for C/C++ Developers
Linux32位,下载eclipse-cpp-luna-R-linux-gtk.tar.gz和jre-8u11-linux-i586.rpm 放到家文件夹中. http://www.eclipse. ...
- php中全局变量global和超全局变量$GLOBALS
php中全局变量global和超全局变量$GLOBALS 1.global Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require ...
- day63-webservice 10.jquery的调用webservice小练习
客户端是采用jquery方式来做调用.但是这种调用,因为jquery这种调用你就得有消息体.我们得先拿到这种消息体.PersonService这个服务类有两个方法. http://localhost: ...
- [HTML&CSS] 条件注释判断浏览器
<!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![e ...
- guice基本使用,guice整合guice-servlet,web scope注解(六)
guice servlet提供了几个比较有用的web scope,类似与传统servlet 的session,request这些提供的范围等. guice servlet 提供的web scope 如 ...
- Dictionary 小知识
Dictionary<string, string>是一个泛型 他本身有集合的功能有时候可以把它看成数组 他的结构是这样的:Dictionary<[key], [value]> ...
- spring boot的项目名称问题
spring boot直接执行main函数时是不需要加项目名称,但是可以在application配置文件中配置server.context-path=/*来配置项目名称: spring mvc的运行方 ...
- 验证码识别 Tesseract的简单使用和总结
Tesseract是什么 OCR即光学字符识别,是指通过电子设备扫描纸上的打印的字符,然后翻译成计算机文字的过程.也就是说通过输入图片,经过识别引擎,去识别图片上的文字.Tesseract是一种适用于 ...
- 将数据库返回的ResultSett转换成List装Map形式的方法(ResultSetToList)
多时候想做一些关于数据库实验,如果先搭建框架太麻烦,直接得到ResultSet处理起来取值什么的也很繁琐,为此我做了一个将ResultSet转换成List<Map<String,Objec ...
- CentOS7 使用 firewalld 打开关闭 防火墙 与 端口!!
1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...