手动博客搬家: 本文发表于20181004 00:21:28, 原地址https://blog.csdn.net/suncongbo/article/details/82935140

结论1

\[\gcd(x^{a}-1,x^{b}-1)=x^{\gcd(a,b)}-1\]
证明:
采用数学归纳法。
令\(a=kb+p\), 则有\(\gcd(x^{a}-1,x^{b}-1)=\gcd(x^{kb+p}-1,x^b-1)=\gcd(x^p(x^{kb}-1)+x^p-1,x^b-1)=\gcd(x^p-1,x^b-1)=\gcd(x^b-1,x^{(a\mod b)}-1)\).
中间一步利用到了如下结论: \((x-1)|(x^k-1)\), 证明直接因式分解: \(x^k-1=(x-1)(\sum^{k-1}_{i=0} x_i)\)

结论2

\[\gcd(Fib(a),Fib(b))=Fib(\gcd(a,b))\]
其中\(Fib(x)\)为Fibonacci数列第\(x\)项。
证明:
首先证明一个结论: \(Fib(a+b)=Fib(a-1)Fib(b)+Fib(a)Fib(b+1)\)
采用数学归纳法: \(b=1, Fib(a+b)=Fib(a+1)=Fib(a)+Fib(a-1)=Fib(a-1)Fib(1)+Fib(a)Fib(2)\)
\(b=2, Fib(a+b)=Fib(a+2)=Fib(a+1)+Fib(a)=2Fib(a)+Fib(a-1)=Fib(a-1)Fib(2)+Fib(a)Fib(3)\)
对于更大的\(b\), 假设有结论对\(b-1, b-2\)成立,则\(Fib(a+b)=Fib(a+b-1)+Fib(a+b-2)=Fib(a-1)Fib(b-1)+Fib(a)Fib(b)+Fib(a-1)Fib(b-2)+Fib(a)Fib(b-1)=Fib(a-1)(Fib(b-2)+Fib(b-1))+Fib(a)(Fib(b-1)+Fib(b))=Fib(a-1)Fib(b)+Fib(a)Fib(b+1)\)
因此假设成立。
然后考虑如何证明\(\gcd\): 首先\(\gcd(Fib(n),Fib(n-1))=1\) (数学归纳同样可证),然后不妨设\(a>b\), 依然可以数学归纳证明,假设上式对于\(a,b\)成立,则\(\gcd(Fib(a+b),Fib(a))=\gcd(Fib(a-1)Fib(b)+Fib(a)Fib(b+1),Fib(a))=\gcd(Fib(a-1)Fib(b),Fib(a))=\gcd(Fib(b),Fib(a))=Fib(\gcd(a,b))=Fib(\gcd(a+b,a))\).
证毕。
推广: 由于\(f(a+b)=f(a-1)f(b)+f(a)f(b+1)\)对多种能表示成\(f(n)=af(n-1)+bf(n-2), (\gcd(a,b)=1)\)的递推关系式都适用,因此对于此类关系式都有\(\gcd(f(a),f(b))=f(\gcd(a,b))\).

【学习笔记】关于最大公约数(gcd)的定理的更多相关文章

  1. swift学习笔记 - swift3.0用GCD实现计时器

    swift3.0之后,GCD的语法发生了翻天覆地的变化,从过去的c语法变成了点语法,下面是变化之后用GCD实现计时器的方法: 先贴代码: // 定义需要计时的时间 var timeCount = 60 ...

  2. 学习笔记 - 中国剩余定理&扩展中国剩余定理

    中国剩余定理&扩展中国剩余定理 NOIP考完回机房填坑 ◌ 中国剩余定理 处理一类相较扩展中国剩余定理更特殊的问题: 在这里要求 对于任意i,j(i≠j),gcd(mi,mj)=1 (就是互素 ...

  3. iOS学习笔记(8)——GCD初探

    1. AppDelegate.m #import "AppDelegate.h" #import "ViewController.h" @interface A ...

  4. poj1265&&2954 [皮克定理 格点多边形]【学习笔记】

    Q:皮克定理这种一句话的东西为什么还要写学习笔记啊? A:多好玩啊... PS:除了蓝色字体之外都是废话啊...  Part I 1.顶点全在格点上的多边形叫做格点多边形(坐标全是整数) 2.维基百科 ...

  5. 【学习笔记】Polya定理

    笔者经多番周折终于看懂了\(\text{Burnside}\)定理和\(\text{Polya}\)定理,特来写一篇学习笔记来记录一下. 群定义 定义:群\((G,·)\)是一个集合与一个运算·所定义 ...

  6. OI数学 简单学习笔记

    基本上只是整理了一下框架,具体的学习给出了个人认为比较好的博客的链接. PART1 数论部分 最大公约数 对于正整数x,y,最大的能同时整除它们的数称为最大公约数 常用的:\(lcm(x,y)=xy\ ...

  7. BZOJ 2038: [2009国家集训队]小Z的袜子(hose)【莫队算法裸题&&学习笔记】

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 9894  Solved: 4561[Subm ...

  8. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  9. OI知识点|NOIP考点|省选考点|教程与学习笔记合集

    点亮技能树行动-- 本篇blog按照分类将网上写的OI知识点归纳了一下,然后会附上蒟蒻我的学习笔记或者是我认为写的不错的专题博客qwqwqwq(好吧,其实已经咕咕咕了...) 基础算法 贪心 枚举 分 ...

随机推荐

  1. spring:利用Spring AOP 使日志输入与方法分离

    对方法进行日志输出是一种很常见的功能.传统的做法是把输出语句写在方法体的内部,在调用该方法时,用输入语句输出信息来记录方法的执行! 1.先写一个普通类: package com.importnew; ...

  2. Codeforces--630C--Lucky Numbers(快速幂)

     C - Lucky Numbers Crawling in process... Crawling failed Time Limit:500MS     Memory Limit:65536K ...

  3. oracle buffer cache的基本原理

    Buffer cache 的原理 一. 1·)当一个服务器进程需要读数据到buffer cache中时,首先必须判断该数据在buffer 中是否存在,如果存在且可用,则获取该数据,根据lru算法在lr ...

  4. 【BZOJ 2565】 最长双回文串

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2565 [算法] Manacher [代码] #include<bits/std ...

  5. 第2章 安装Nodejs 2-2 Nodejs版本常识

  6. aspectc中this可以获取的东西

    this->kind  操作类型 this->targetName 被调用函数名称 this->funcName 调用函数名称 this->argsCount 参数个数 thi ...

  7. 玩游戏(dfs)

    http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2566 #include <stdio.h ...

  8. Integer应该用==还是equals

    问题引出:“Integer应该用==还是equals” 讨论这个问题之前我们先放一段代码 public static void main(String[] args) { Integer a1 = 2 ...

  9. var的变量提升的底层原理是什么?

    原理:JS引擎的工作方式是①先解析代码,获取所有被声明的变量:②然后在运行.也就是专业来说是分为预处理和执行两个阶段. 变量提升的定义:所有变量的声明语句都会被提升到代码头部,这就是变量提升. 例如: ...

  10. MySQL命令学习之技巧(博主推荐)

    关于,这篇博客呢,是