1. 程式人生 > >洛谷P1082 同餘方程

洛谷P1082 同餘方程

題目描述

求關於x的同餘方程 ax = 1(mod b) 的最小正整數解。

上面那個等號應該是三個橫,可是我打不出來。。。。。。湊合看吧

輸入輸出格式

輸入格式:

一行,包含兩個正整數 $a,b$,用一個空格隔開。

輸出格式:

一個正整數 x0,即最小正整數解。輸入資料保證一定有解。

輸入輸出樣例

輸入樣例#1: 3 10輸出樣例#1: 7

說明

【資料範圍】

對於 40%的資料,2 ≤b≤ 1,000;

對於 60%的資料,2 ≤b≤ 50,000,000;

對於 100%的資料,2 ≤a, b≤ 2,000,000,000。

NOIP 2012 提高組 第二天 第一題

數論的題嗎。。。對於我這種菜雞來講真不適合用來寫題解。。。

我們就把它背住就好了。。。

#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int a,b,x,y,k;
void exgcd(int a,int b)
{
	if(b == 0)
	{
		x = 1;
		y = 0;
		return;
	}
	exgcd(b,a%b);
	k = x;
	x = y;
	y = k - a/b*y;
	return;
}
int main()
{
	scanf("%d%d",&a,&b);
	exgcd(a,b);
	printf("%d",(x + b)%b); 
	return 0;
}