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 下的 OOM Killer【转】
本文转载自:http://www.vpsee.com/2013/10/how-to-configure-the-linux-oom-killer/ 最近有位 VPS 客户抱怨 MySQL 无缘无故挂掉 ...
- identity in sql server 批量插入history
https://stackoverflow.com/questions/1920558/what-is-the-difference-between-scope-identity-identity-i ...
- Linux - 配置php-fpm 以及 配置nginx支持php
配置php-fpm [root@localhost php7]# which php-fpm /usr/local/php7/sbin/php-fpm [root@localhost php7]# p ...
- Node.js:GET/POST请求
ylbtech-Node.js:GET/POST请求 1.返回顶部 1. Node.js GET/POST请求 在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交. 表单提交到服务器一般 ...
- MySQL实现表之间的字段更新
新功能写好之后,需要把以前表数据更新一下,字段数据从以前的表中获取,只更新两个字段 UPDATE TABLE1,TABLE2 SET TABLE1.COLUMN1 = TABLE2.COLUMN1 , ...
- QlikSense移动端使用攻略
公司内部署QlikSense服务器,除了在电脑上用浏览器访问,也可以在移动端进行访问. 移动端访问在如下网址有英文详细介绍:https://community.qlik.com/docs/DOC-19 ...
- webpack-1
1.webpack 安装新项目npm install --save-dev webpack如果版本较老,在package,json中找到版本号,修改成你要的版本号,在删除node-model文件夹,执 ...
- JavaScript数组和json的区别
<html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...
- RAP开发入门-主题更换
通过配置扩展点修改应用主题 ps:需要提前准备好主题(theme.css)文件 <!-- 注册主题扩展点 --> <extension point= ...
- 写给VC++ Windows开发的初学者 一片不错的博文
不知不觉2010年都过了半年了,想来我学C语言已经12个年头了(从1998年开始),用VC++也有11年了,最早使用Turbo C2.0 ,也学过汇编,后来使用Borland C++3.0 .Micr ...