同余:如果对于a和b,有a-b求余m等于零,则我们说a和b同余,记为a≡b(mod m)

其实我们也可以通俗易懂的总结一下,就是a mod m == b mod m

互质:gcd(a,b) == 1,我们就说两个数是互质的

费马小定理:对于a和p两个互质的数,存在等式a^(p-1)≡1(mod p)

我们举个经典的例子吧

对于2^100 mod 13 我可以看到,这里13和2是互质的,我们要用费马小定理的话应该怎么办?

是不是要构造出13-1啊!所以有 2^100≡(2^((12*8)+4))(mod 13),到了这一步,我们就可以用费马小定理了

对于2^12 是不是有2^12≡1mod13,所以我们去替换就行了

说的更明白点就是,2^100 和 2^((12*8)+4)) 取摸 13 的值相等,也就是和 (2^(12*8)mod13 * 2^4mod13)mod13相等,也就是和((1mod13)^8*2^4mod13)mod13相等,说到这里,大家就应该明白了吧,我这辈子应该也忘不了了吧

下面给一个经典题目吧

这个题目重在条件转换,这是数论题目的常规操作

我们首先需要理解S(k) be the number of (x1,x2,......,xk),这句话的意思是S(k)代表k个数能相加等于N的序列数目

然后还有一个问题是,例如N等于3,k = 2时,1+2和2+1是不是一个序列,这个问题模棱两可,但是数论问题就是要找规律,我们认定这是两个序列的话,容易得出来,S(1) + .... +S(N)等于2^(n-1),这样就可以用到费马小定理了!

具体见下面的AC代码

Input

2

Output

2
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
typedef long long ll;
string n;
int main()
{while(cin>>n){ll mod = 1000000006;ll sum = 0;ll power = 10;ll k = n.size()-1;while(n[k] == '0'){k--;}n[k] = n[k] - 1;for(ll i = n.size()-1; i > k; i--){n[i] = '9';}for(ll i = 0; i < n.size(); i++){sum = sum * power + (n[i]-'0');if(sum >= mod){sum %= mod;}}ll a = 2;ll result = 1;ll mod1 = 1000000007;while(sum){if(sum % 2 == 1) result = (result*a)%mod1;a = (a*a)%mod1;sum/=2;}cout<<result<<endl;}return 0;
}

数论——同余和费马小定理相关推荐

  1. luogu P2613 【模板】有理数取余(费马小定理,乘法逆元)

    整理的算法模板合集: ACM模板 目录 题目传送门 题目传送门 相当于是一个高精的费马小定理求乘法逆元.虽然数据达到了101000110^{10001}1010001,但是我们可以使用快读然后一直模m ...

  2. c语言中余数恒等于1,费马小定理_KANGMANG201102_新浪博客

    费马小定理是数论中的一个重要定理,其内容为: 假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p) 假如p是质数,且a,p互质,那么 a的(p-1)次方除以p的余数恒等于1 费马小 ...

  3. 同余定理 逆元 中国剩余定理 费马小定理

    同余定理 同余定理是数论中的重要概念.给定一个正整数m,如果两个整数a和b满足(a-b)能够被m整除,即(a-b)/m得到一个整数,那么就称整数a与b对模m同余,记作a≡b(mod m). 两个整数a ...

  4. 数论四大定理(欧拉定理、费马小定理、中国剩余定理、威尔逊定理)

    前置知识 同余 假设 a,ba,ba,b 都是整数,如果 nnn 是一个正整数,且存在整数 kkk 使得 a−b=k×na−b=k \times na−b=k×n,则称 a,ba,ba,b 模 nnn ...

  5. 初等数论--同余--欧拉函数、欧拉定理、费马小定理

    初等数论--同余--欧拉函数.欧拉定理.费马小定理 概念 同余类,既约同余类 欧拉函数 完全剩余系,既约剩余系 关于完全剩余系.既约剩余系一些比较简单的定理 欧拉定理.费马小定理 博主是初学初等数论( ...

  6. 剩余系,剩余定理,同余定理,费马小定理的证明

    费马小定理: 证明:假如p是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p) 一.准备知识: 所谓"剩余系",就是指对于某一个特定的正整数n,一个整数集中的数模n所 ...

  7. 7. 数论四大定理(威尔逊定理、欧拉定理、费马小定理、孙子定理)

    一.准备工作 点击查看数论基础知识 二.威尔逊定理 威尔逊定理给出了判定一个自然数是否为素数的充分必要条件.但是由于阶乘是呈爆炸增长的,其结论对于实际操作意义不大. 1. 定理及其变形 当且仅当p为素 ...

  8. 小结:数论四大定理(威尔逊定理+欧拉定理+中国剩余定理+费马小定理)

    前置知识: 模运算消去律:ac ≡ bc (mod p) → a ≡ b (mod p/gcd(c,p) ) 威尔逊定理: 当且仅当p为素数时,( p -1 )! ≡ -1 ( mod p ) 当且仅 ...

  9. 数学--数论--费马小定理+求逆元

    1.费马小定理: (此处的p为素数) 证明: 费马小定理求逆元 如果p为小素数我们选择直接暴力,时间复杂度为: int Fermat_inverse(int a,int mod) {int res = ...

  10. 数论杂谈(欧拉定理与费马小定理结论与应用)

    文章目录 欧拉定理: 欧拉定理性质: 扩展欧拉定理: 费马小定理: 指数循环节 费马大定理 逆元: 例题 原根 定义: 原根存在条件 例题 快速幂 代码 矩阵快速幂 原理: 代码: 欧拉定理: aφ( ...

最新文章

  1. 联想计算机农村,农村的联想
  2. jpa之PagingAndSortingRepository带分页查询
  3. 设计模式之_Strategy_01
  4. Flume-NG源码阅读之AvroSink
  5. CCIE-LAB-第八篇-SDWAN-Branch1_Branch2_Vmanage
  6. Dubbo与Zookeeper伪集群部署
  7. MongoDB学习之(二)java连接
  8. 636. 函数的独占时间
  9. 广数系统加工中心编程_编程十五年,谈谈对加工中心编程的一些看法...
  10. 模拟器和服务器共享文件夹,mumu模拟器如何跟电脑共享文件?导入文件到mumu模拟器共享文件夹教程...
  11. 关于自动化测试的前期发展历史及未来发展趋势
  12. C++ 定时每天十二点做某事
  13. idea插件安装包下载
  14. Charles一键设置Breakpoint(断点)
  15. 强化学习入门: the 10-armed bandit problem,e-greedy 算法
  16. 备战蓝桥杯单片机倒数第四天 小蜜蜂老师公众号更新内容
  17. 中兴服务器迈络思NS312网卡down掉网口物理指示灯不熄灭解决方法--NS312型号ConnectX-4 Lx
  18. 商城 商品模块 数据库 表设计
  19. 拼多多有哪些API?
  20. 给textView设置文字渐变色

热门文章

  1. js获取url参数方法
  2. centos7系统下postgresql12离线安装
  3. 用Python解决简单的水果分类问题(二)
  4. 拓端tecdat|R语言具有Student-t分布改进的GARCH(1,1)模型的贝叶斯估计
  5. (9)数据结构-双端队列
  6. 分子重构技术_4. 串珠模型重构
  7. python 如何判断字典存在key
  8. 成功解决./nvidia-installer: invalid option: “‐‐no‐opengl‐files“ ERROR: Invalid commandline, please run `
  9. caffe绘制训练过程的loss和accuracy曲线
  10. caffe自带可运行的两个例子:mnist和cifar10