伯特兰-切比雪夫定理

内容

对于一个整数nnn,且n>3n>3n>3,则至少存在一个素数ppp,且这个素数符合n<p<2n−2n<p<2n-2n<p<2n−2。

另一种说法:对于一个任意大于111的整数nnn,至少存在一个素数ppp,符合n<p<2nn<p<2nn<p<2n。

例题 P5535 【XR-3】小道消息

题目传送门

思路

考虑当这个人为素数时,他会告诉谁?

因为一个素数ppp能够保证互质的一个区间为[2,2p−1][2, 2p-1][2,2p−1],因此,需要对其分类讨论。

  • 考虑n范围内有没有存在其倍数,如果有那还得多一天告诉(如果有多个倍数的话,考虑到之前转达消息的时候也会转达到林外一个素数,所以在第二天的时候都会被告诉)
  • 如果没有其倍数的话,那么显然一天就转达完成了(因为剩下的数字都是互质的)

考虑这个人不是个素数,他会告诉谁?由题意可得这个数字只能告诉范围内的素数,而剩下的素数又会和上面的情况相同(除了现在的素数是多个,也就是说就算有存在素数的倍数也会被转达消息)

因此,判断下这个数是不是素数,再判断下范围内还有没有其倍数就可以了。

代码

c++

一种可行的c++代码实现。

#include <bits/stdc++.h>
using ll = long long;inline ll mul(ll a, ll b, ll p) {a = (a % p + p) % p;b = (b % p + p) % p;ll d = static_cast<long double>(a) * b / p;d = a * b - d * p;if (d >= p)d -= p;if (d < 0)d += p;return d;
}
inline ll pow(ll a, ll i, ll p) {ll res = 1;while (i) {if (i & 1)res = mul(res, a, p);a = mul(a, a, p);i >>= 1;}return res;
}
constexpr int A[] = {2, 3, 5, 7, 11, 13, 17, 23};
inline bool isprime(ll n) {if (n == 2) return true;if (n < 2 || (n & 1) == 0)return false;ll d = n - 1, s = 0;while (d % 2 == 0) {d /= 2;s ++;}for (auto a : A) {if (n == a) {return true;}ll x = pow(a, d, n);if (x == 1 || x == n - 1) continue;bool ok = false;for (int j = 1; j < s; ++ j) {x = mul(x, x, n);if (x == n - 1) {ok = true;break;}}if (!ok) {return false;}} return true;
}int main() {std::ios::sync_with_stdio(false);std::cin.tie(nullptr);ll n, k;std::cin >> n >> k;if (isprime(k + 1) && (k << 1) >= n) {std::cout << 1;} else {std::cout << 2;}return 0;
}

python

一种可行的python代码实现。

def power(a : int, i : int, p : int) -> int:res = 1while i > 0:if i & 1:res = res * a % pa = a * a % pi >>= 1return resA = [2, 3, 5, 7, 11, 13, 17, 21]def isprime(n : int) -> bool:if n == 2:return Trueif n < 2 or n % 2 == 0:return Falsed, s = n - 1, 0while (d & 1) == 0:d >>= 1s += 1for a in A:if n == a:return Truex = power(a, d, n)if x == 1 or x == n - 1:continuej = 1ok = Falsewhile j < s:j += 1x = x * x % nif x == n - 1:ok = Truebreakif not ok:return Falsereturn Trueif __name__ == "__main__":n, k = map(int, input().split())if (isprime(k + 1) and k * 2 >= n):print(1)else:print(2)

【日志】伯特兰-切比雪夫定理的小应用相关推荐

  1. P5535 【XR-3】小道消息(伯特兰-切比雪夫定理)

    题意: 有 n 个人,其中第 i 个人的衣服上有一个数 i+1.小 X 发现了一个规律:当一个衣服上的数为 i 的人在某一天知道了一条信息,他会在第二天把这条信息告诉衣服上的数为 j 的人,其中 gc ...

  2. 伯特兰-切比雪夫定理(洛谷P5535 【XR-3】小道消息)

    题目链接 伯特兰-切比雪夫定理说明:若整数n > 3,则至少存在一个质数p,符合n < p < 2n − 2.另一个稍弱说法是:对于所有大于1的整数n,至少存在一个质数p,符合n & ...

  3. 粗略估计哥德巴赫猜想的成立(伯特兰-切比雪夫定理、质数密度定理)

    对于任意数N,是质数的概率粗略的等于1/ln(N),小于的质数个数粗略的等于N/ln(N). 我们可以用这个,来粗略的估计哥德巴赫猜想的成立. 对于偶数O,要求: O/2恰好是质数.这种情况不用再说明 ...

  4. Codeforces Global Round 4-D. Prime Graph(伯特兰-切比雪夫定理)

    题目:Codeforces Global Round 4-D. Prime Graph 题意:给出n(顶点的个数),要求所得图满足: 1.无平行边和自环 2.边的总数是个质数 3.每个点的度(也就是点 ...

  5. Codeforces Global Round 4 - 1178D. Prime Graph(构造+切比雪夫定理)

    题目链接:https://codeforces.com/contest/1178/problem/D 题意:给出  个点,要求构成一个简单图,使得边的总数是素数,并且每个点的度数也是素数. 思路:如果 ...

  6. 【HDU - 5873】Football Games(兰道定理,知识点总结)

    题干: A mysterious country will hold a football world championships---Abnormal Cup, attracting footbal ...

  7. 伯特兰·阿瑟·威廉·罗素

     伯特兰·阿瑟·威廉·罗素伯特兰·阿瑟·威廉·罗素(Bertrand Arthur William Russell,1872年5月18日-1970年2月2日)是二十世纪最有影响力的哲学家.数学家和逻辑 ...

  8. 兰道定理 HDU-5873

    这个题网上的大多数题解都说是思维题 其实可以用兰道定理解决 首先来说明一下兰道定理 兰道定理又称竞赛图定理,是一个定义在有向图上的概念,顾名思义,它可以想象成n个人两两对决,赢得向输的连边,其实就是给 ...

  9. [竞赛图判定定理]兰道定理(Landau's Theorem)介绍及其一种证明

    前言 竞赛图(tournament)是一个定义在有向图上的概念,顾名思义,它可以想象成nn个人两两对决,赢得向输的连边,其实就是给一副完全图的无向边定了方向. 竞赛图有很多十分优美的性质,比如说在之前 ...

最新文章

  1. J2EE的13种核心技术
  2. 如何给textbox中的文本设置垂直对齐,以及右对齐
  3. 谈一谈Spring-Mybatis在多数据源配置上的坑
  4. mysql5.6优化建议
  5. x264_sps_init
  6. nonlocal和global关键字
  7. QQ空间小秘书 V1.70 Beta1 ~~ 天空原创软件
  8. 适用于 ESXi 6.x 中的 OpenSLP 安全漏洞 (CVE-2019-5544) 的权宜措施 (76372)
  9. Android Studio 设置主题及字体
  10. 从零开始刷Leetcode——数组(268.283.414)
  11. 折线图笔记 -python
  12. 在vue中使用tinymce富文本编辑器+tinymce富文本编辑器插入图片+自定义菜单按钮封装+vue-tinymce富文本
  13. 按键精灵---后台按键及鼠标操作
  14. 油菜花系统服务器能删除内容吗,油菜花花期怎样管理,油菜花花期管理技术要点...
  15. 永恒之蓝(ms17-010)漏洞简介及复现
  16. 适合新手的mac电脑使用技巧 苹果电脑的快捷键和使用技巧
  17. 《构建之法》读书笔记——第1章 概论
  18. 服务器资产管理条码系统,资产条码管理系统
  19. css tabindex
  20. blackarch Linux(暗黑Linux)的下载与安装

热门文章

  1. create-react-app打包环境配置
  2. 利用TeamViewer实现唤醒远程电脑一例方法
  3. [掌握一个小项目]简单利用Java实现可输入计算器
  4. figma设计用户头像效果
  5. C++进行简单的图像处理
  6. Android Car音乐播放器分析
  7. 优化方法:牛顿法,BFGS和L-BFGS算法。
  8. scrapy 迭代爬取时,报错 Filtered offsite request
  9. 过半科研人员经历过骚扰和歧视,44%的研究人员杂务缠身无暇科研丨报告
  10. 本周桑坦德银行将发布瑞波支付应用