首页 > 其他分享 >约数

约数

时间:2024-10-08 20:32:56浏览次数:7  
标签:约数 公倍数 bmod mid 除法 复杂度

定义:如果 \(a\) 是 \(b\) 的约数,即 \(a \bmod b=0\),记为 \(a \mid b\)。

  • 如果 \(a \mid b\) 并且 \(a \mid c\),那么 \(a \mid (bx+cy)\)

1. 最大公约数

记 \(\gcd(a,b)\) 为 \((a,b)\)。

显然 \(d \mid (a,b)\) 等价于,\(d \mid a\) 且 \(d \mid b\)

显然 \((a,b)=(a+b,b)=(a-b,b)=(a \bmod b,b)\)

1.1 更相减损术

由于 \((a,b)=(b,a)=(a-b,b)\),所以每次让大数减小数,直到 \(a=b\) 返回 \(a\) 即可。

由于减法高精度比较容易实现,所以一般用于高精度。

1.2 辗转相除法

又名欧几里得算法

因为 \((a,b)=(b,a)=(a \bmod b,b)\),所以每次让大数模小数,如果 \(b=0\),那么返回 \((0,a)=a\)。

辗转相除法的时间复杂度为 \(\mathcal{O}(\log n)\),而更相减损术复杂度复杂度有可能劣化为 \(\mathcal{O}(n)\),所以一般都是用辗转相除法求 \(\gcd\)。

2. 最小公倍数

记 \(\operatorname{lcm}(a,b)\) 为 \([a,b]\)。

最小公倍数与最大公约数的关系是 \([a,b] \times (a,b)=a \times b\)

3. 互质与欧拉函数

标签:约数,公倍数,bmod,mid,除法,复杂度
From: https://www.cnblogs.com/zhuluoan/p/18452478

相关文章

  • Acwing-246. 区间最大公约数
    本蒟蒻的第二篇题解qwq.题目大意:给定一个长度为\(N\)的数组,需要在数组上进行两种操作:1.Clrd,表示把\(A[l],A[l+1],...,A[r]\)都加上\(d\).2.Qlr,表示询问\(A[l],A[l+1],...,A[r]\)的最大公约数\((GCD)\).错误解法:如果你是一个只会打暴力的小蒟蒻(就像我),看......
  • 最大公约数与最小公倍数
    设\(a_1,a_2\)是两个整数,如果\(d|a_1,\d|a_2\),那么\(d\)就称为\(a_1\)和\(a_2\)的公约数,其中最大的称为\(a_1\)和\(a_2\)的最大公约数,记作\((a_1,a_2)\)。一般地,可以类似地定义\(k\)个整数\(a_1,a_2,\cdots,a_k\)的公约数和最大公约数,后者记作\((a_1,\cdots,......
  • C++入门基础知识90(实例)——实例15【求两数的最大公约数】
    成长路上不孤单......
  • 求最大公约数的三种算法
    #include<iostream>#include<vector>#include<algorithm>usingnamespacestd;intgcdByBruteForce(inta,intb){for(inti=min(a,b);i>0;--i){if(a%i==0&&b%i==0){returni;......
  • 最大公约数与最小公倍数
    前言:  最大公约数(最大公因数)是指两个或多个整数共有约数中最大的一个。最小公倍数是指两个或多个整数的公倍数里最小的那一个。最大公约数记为(a,b),最小公倍数是已知几个数的公倍数,且是最小的那一个。1.法一:辗转相除法 #include<stdio.h>intmain(){inta,b;......
  • 信息学奥赛初赛天天练-92-CSP-S2023阅读程序2-动态数组、反转函数、埃氏筛法、欧拉筛
    2023CSP-S阅读程序2判断题正确填√,错误填⨉;除特殊说明外,判断题1.5分,选择题3分,共计40分)01#include<iostream>02#include<cmath>03#include<vector>04#include<algorithm>05usingnamespacestd;0607longlongsolve1(intn){08vector<bo......
  • 信息学奥赛初赛天天练-92-CSP-S2023阅读程序2-动态数组、反转函数、埃氏筛法、欧拉筛
    2023CSP-S阅读程序2判断题正确填√,错误填⨉;除特殊说明外,判断题1.5分,选择题3分,共计40分)01#include<iostream>02#include<cmath>03#include<vector>04#include<algorithm>05usingnamespacestd;0607longlongsolve1(intn){08vector<boo......
  • 一个线性筛的多功能组合:筛法求质数+约数个数+约数和
    F:\BC\2024\9>main1活动代码页:9362 2X2=43 3X2=6 3X3=94X2=85 5X2=10 5X3=15 5X5=256X2=127 7X2=14 7X3=21 7X5=35 7X7=498X2=169X2=18 9X3=2710X2=2011 11X2=22 11X3=33 11X5=55 11X7=77 11X11=12112X2=2413 13X2=26 13X......
  • 【MySQL】基础部分——DDL,DML,DQL,DCL,函数,约数,多表查询,事务
    个人学习记录,供以后回顾和复习ubuntu下安装使用1.DDL,DML,DQL,DCLDDL数据库表DML增改删DQL条件查询分组查询排序查询分页查询DCL管理用户权限控制2.函数字符串函数数值函数日期函数流程函数3.约束4.多表查询多表关系内连接外连接自连接联合查询union子查询标量子查询......
  • P3327 [SDOI2015] 约数个数和
    [SDOI2015]约数个数和题目描述设\(d(x)\)为\(x\)的约数个数,给定\(n,m\),求\[\sum_{i=1}^n\sum_{j=1}^md(ij)\]输入格式输入文件包含多组测试数据。第一行,一个整数\(T\),表示测试数据的组数。接下来的\(T\)行,每行两个整数\(n,m\)。输出格式\(T\)行,每行一个整数,表......