继续整理神奇的公式中。
题意很简单,直接上神奇的公式:
如果FnF_n表示斐波那契数列第i个数,那么

gcd(Fm,Fn)=Fgcd(n,m)

gcd(F_m,F_n)=F_{gcd(n,m)}
那这个题就可以转化为
for:m=1~n
gcd(Fm,Fn)=1gcd(F_m,F_n)=1
即for:m=1~n
Fgcd(m,n)=1F_{gcd(m,n)}=1
即:
for:m=1~n
gcd(n,m)=1或者gcd(n,m)=2gcd(n,m)=1或者gcd(n,m)=2
这里要注意的是除了4,其他的所有偶数都会有比2大的因数
所以除了4这个合数之外,n必须不能是合数,但是,素数2不符合定义,所以特判1,2,4三个元素,然后其他的n是素数就输出Yes,否则输出No。
用M_R判断素数就OK了
code:

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<iostream>
#include<string>
#include <set>
//a&3==a%4
using namespace std;
#define ll long long
#define mem(a) memset(a,0,sizeof(a))
const double eps=1e-8;
const int maxn=30010;
const int inf=0x3f3f3f3f;
const int S = 10; long long mult_mod(long long a,long long b,long long c)
{a %= c;b %= c;long long ret = 0;long long tmp = a;while(b){if(b & 1){ret += tmp;if(ret > c)ret -= c;}tmp <<= 1;if(tmp > c)tmp -= c;b >>= 1;}return ret;
}long long pow_mod(long long a,long long n,long long mod)
{long long ret = 1;long long temp = a%mod;while(n){if(n & 1)ret = mult_mod(ret,temp,mod);temp = mult_mod(temp,temp,mod);n >>= 1;}return ret;
}bool check(long long a,long long n,long long x,long long t)
{long long ret = pow_mod(a,x,n);long long last = ret;for(int i = 1;i <= t;i++){ret = mult_mod(ret,ret,n);if(ret == 1 && last != 1 && last != n-1)return true;last = ret;}if(ret != 1)return true;else return false;
}bool Miller_Rabin(long long n)
{if( n < 2)return false;if( n == 2)return true;if( (n&1) == 0)return false;//long long x = n - 1;long long t = 0;while( (x&1)==0 ){x >>= 1;t++;}for(int i = 0;i < S;i++){long long a = rand()%(n-1) + 1;if( check(a,n,x,t) )return false;}return true;
}int main()
{ll a;while(cin>>a){if(a==4){printf("Yes\n");}else if(a==2){printf("No\n");}else if(a==1){printf("No\n");}else{if(Miller_Rabin(a))printf("Yes\n");elseprintf("No\n");}}return 0;
}

NYIST468(Miller_Rabin+定理)相关推荐

  1. HDU6608 Fansblog【Miller_Rabin素性测试算法+威尔逊定理】

    Fansblog Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...

  2. 「hdu6608」Fansblog【Miller_Rabin+威尔逊定理】

    Fansblog Time Limit: 2000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...

  3. 2019杭电多校第三场 6608 Fansblog(威尔逊定理+miller_rabin素性测试)

    Problem Description 传送门 Farmer John keeps a website called 'FansBlog' .Everyday , there are many peo ...

  4. BZOJ 4802: 欧拉函数(大数因数分解算法 Pollard_rho 和素数测试算法 Miller_Rabin)

    Description 已知N,求phi(N) Input 正整数N.N<=10^18 Output 输出phi(N) Sample Input 8 Sample Output 4 Soluti ...

  5. miller_rabin 证明与实现

    143. 质数判定__模板题链接 前置知识 费马小定理:ppp是质数,则对于任意的aaa,aaa与ppp互质,则有ap−1≡1(modp)a ^ {p - 1} \equiv 1 \pmod {p}a ...

  6. HDU5391威尔逊定理

    威尔逊定理 当且仅当p为素数,p | (p-1)!+1 若p为合数,则p=a*b;如果a!=b,那么p|(p-1)!, 如果a=b,如果p为4,那么p|(p-1)!=2,如果p大于4,那么sqrt§和 ...

  7. Miller_Rabin算法

    为了测试一个大整数是不是素数,我们不能够使用传统的测试是否有因子的方法,因为那样的时间复杂度至少也是O(n)O(n)O(n),空间复杂度是O(n)O(n)O(n)(使用线性筛数法),时间复杂度还好说, ...

  8. 费尔马小定理素数java_利用费马小定理判断素数

    今天听了ljss神犇的数论课,顿时感觉----我真的是太弱啦! 我只能稍微写一下我能听懂的部分orz 那么这就是今天我为数不多能听懂一点的之一......QAQ 首先先介绍今天的主角:费马小定理 -- ...

  9. Pollard_rho大数质因数分解+拉格朗日四平方和定理(bzoj 2904: 平方和)

    2904: 平方和 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 160  Solved: 73 [Submit][Status][Discuss] ...

最新文章

  1. 智能车技术与实践_ROS入门
  2. 天翼云从业认证(4.11)天翼云物流行业解决方案
  3. java 二维链表_Java数据结构与算法----数组与链表
  4. 跨库多维分析后台的实现
  5. RStudio修改快捷键确保每次运行都是从头运行所有代码
  6. 前端学习(3126):react-hello-react之总结props
  7. 但救地球要紧的飞鸽传书
  8. php接收post写入文件,PHP中Post和Get获取数据写入文件中
  9. jfinal 任务调度与jsoup 爬虫
  10. 硬骨难啃:大众想收购自动驾驶公司Aurora,但被拒绝了
  11. apt-get update出现NO_PUBKEY问题解决
  12. Boost.Python.ArgumentError: Python argument types in错误解决及Boost安装配置
  13. 卷积的定义,知乎上有个很有名的段子:
  14. wwwscan网站目录文件批量扫描工具
  15. 搬运:PHOTOSHOP存储为 Web 所用格式的选项|处理PNG图像透明度时的仿色选项
  16. Linux fflush 函数
  17. 【笔记】Jenkins- 解决 “Error 403 No valid crumb was included in the request“
  18. RAID(独立磁盘冗余阵列)
  19. vue使用脚手架的单文件组件环境搭建
  20. 佳驰电子冲刺科创板:年利润3.2亿 源峰磐钰与国家产投是股东

热门文章

  1. oracle是做什么用的,可以形容下Oracle有什么用,是干什么的吗?
  2. 软件开发常用工具和网站
  3. 网新恒天php,网新恒天,为德邦快递插上数字化翅膀
  4. 认沽期权是什么意思:认沽期权怎么交易
  5. 【相似的生活,不可思议】
  6. FineBI 将聚合之后的结果,再求平均值
  7. 对sklearn文件pyd文件进行修改的方法
  8. 【NLP】深度文本匹配综述
  9. 泛型相关用法(day3)
  10. matlab中读文件的行数_【Matlab】 读取文件各种方法