数论续集部分

本文介绍了裴蜀定理,即二元线性方程ax+by=c存在整数解的条件,以及如何通过gcd(a,b)和c的关系来判断。同时概述了线性丢番图方程的解法,包括特殊解和通解的求解过程,以及同余的概念及其性质在这些方程中的应用。
摘要由CSDN通过智能技术生成

裴蜀定理

设 a,b 是不全为零的整数,对任意整数 x,y,满足 gcd(a, b) | (ax + by),且存在整数 x,y, 使得 ax + by = gcd(a,b).

练习题目:洛谷p4549 poj 1597 hdu 5512

题目可能出现的提示:

1、a,b知道

2、x,y不知

3、a * x + b * y = S

4、a,b搭配的结果   比如  hdu5512

线性丢番图方程

线段上的格点数量
问题描述:在二维平面上,给定两个格点p=(x1,y1)和p2-(x2,y2),问线段pp2上除了 p、pz外还有几个格点? 设x<x2。

 解法一:

因为两个点,所以左上角一个点,右下角一个点(左下角,右上角同理),得出这条直线,从左上交的点x不断加1,计算他的y坐标,然后判断它的y是否是整数。如果是就加1.

解法二:线性丢番图方法

方程 ax+by=c 称为二元线性丢番图方程,  其中a、b、c是已知整数,、y是变量,问是否有整数解。ax+by=c实际上是二维x-y平面上的一条直线,这条直线上如果有整数坐标点,方程就有解;如果没有整数坐标点,就无解。如果存在一个解,就有无穷多个解。下面的定理给出了有解的判断条件和通解的形式。

 定理6.8.1Ф   

设a,6 是整数目 gcd(a,b)=d。如果d不能整除c,那么方程 ax十6y=c没有整数解,如果d能整除c,那么存在无穷多个整数解。另外,如果(zo,y。)是方程的一个特解,那么所有解(通解)可以表示为x=xo+(b/d)n,y=y。-(a/d)n,其中n为任意整数。


定理可以概括为ax+by-c有解的充分必要条件是d=gcd(a,b)能整除c。例如,方程18x+3y=7没有整数解,因为gcd(18,3)=3,3不能整除7;方程 25x+15y=70存在无穷个解,因为gcd(25,15)=5且5整除70,一个特解是 x。-4,yo--2,通解是x=4十3n,y--2-5n。



定理的前半部分,令a=da',b=db',有ax+by=d(a'z+b y)=c。如果x、y、a'b'都是整数,那么c必须是d=gcd(a,b)的倍数,才有整数解。

定理的后半部分给出了通解的形式:x值按b/d递增,y值按-a/d 递增。设(x。,y。)是一个格点(格点是指x、y坐标均为整数的点),移动到直线上另一个点(zo十Ax,y+Δy),有aΔx+6Δy=0。Δx 和 Δy 必须是整数,(xo+Δx,yo+Δy)才是另一个格点。Ax 最小是多少?因为 a/d 与b/d 互素,只有 Ax=b/d,△y =-a/d 时,△z 和 y 才是整数,并满足 a△x+b△y=0。

求二元方程组代码 

ax + by = gcd(a, b) = d

#include <bits/stdc++.h>
using namespace std;


typedef long long ll;
// 这个是求特解的
ll extend_gcd(ll a, ll b, ll &x, ll &y) {
    if (b == 0) { // 到达终点后进行返回
        x = 1;
        y = 0;
        return a;
    }
    ll d = extend_gcd(b, a % b, y, x);
    y -= a / b * x; // 使其x,y符合现在的方程条件
    return d;
}
// 通解公式:
x = x0 + (b / d) * n;
y = y0 - (a / d) * n;

同余(描述整除关系)(m|a == m 能整除 a)

介绍

同余:设m是正整数,若a和b是整数,且m|(a一b),则称a和b模m 同余。也就是说,a除以m得到的余数,和b除以m的余数相同;或者说,a-b除以m,余数为0。把a和b模m 同余记为a≡b(mod m),m 称为同余的模。几个例子如下。

(1)因为7(18-4),所以18=4(mod7),18除以7的余数是4,4除以7的余数也是4。


(2)3=-6(mod9),3除以9的余数是3,-6除以9的余数也是3.

(3)13和5模9不同余,因为13除以9的余数是4,5除以9的余数是5剩余系:一个模m完全剩余系是一个整数的集合,使每个整数恰与此集合中的一个元素模 m 同余。例如,整数0,1,…,m-1的集合是模m完全剩余系,称为模m最小非负剩余的集合。剩余系的概念在线性同余方程中有应用。

定理和性质 

若a和b是整数,m为正整数,则a≡b(mod m)当且仅当a mod m=b mod m。这是同余的基本概念。
把同余式转换为等式。若a和b是整数,则a=b(modm)当且仅当存在整数k,使a-6+km。例如,19=-2(mod7),有19=-2+3X7。这个定理说明了同余方程和线性丢番图方程的关系。
设m是正整数,模m的同余满足以下基本性质


(1)自反性:若a是整数,则a=a(mod m)。

(2)对称性:若a和b是整数,且a≡b(mod m),则b≡a(mod m)。
(3)传递性:若a、b、是整数,且a=b(modm)和b=c(mod m),则a≡c(mod m)。

关于同余的加减乘除,若a、b、c和m是整数,m>0,且a=b(mod m),c≡d(mod m),则有以下性质


(1)加。简单表达:a十c=b+c(mod m);更一般的表达:a十c=b+d(mod m)。


(2)减。简单表达:a-c=b-c(mod m);更一般的表达:a-c=b-d(mod m).


(3)乘。简单表达:ac=bc(modm);更一般的表达:ac=bd(mod m)。

(4)除。在同余的两边同时除以一个整数,不一定保持同余。参考本章关于模除法的说明(5)同余的幂。若a、b、k和m是整数,k>0,m>0,且a=b(mod m),则a =b(mod m)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值