若干年之前的一道题,当时能写出来还是超级开心的,虽然是个板子题。一直忘记写博客,备忘一下。

米勒拉判大素数,关于米勒拉宾是个什么东西,传送门了解一下:biubiubiu~

B. Goldbach

题目传送门

自己看题意吧,直接贴代码了。

代码:

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<algorithm>
#include<queue>
#include<vector>
#include<stack>
using namespace std;
typedef unsigned long long ll;
const int maxn=1e9+;
const double eps=1e-;
ll add_mod(ll a,ll b,ll mod) //快乘法 基于快速幂的二分思想
{
ll ans=; //由于考虑到取模数很大 快速幂会溢出
while(b) //必须使用该方法
{
if(b&) //我这里写的是非递归版
ans=(ans+a)%mod;
a=a*%mod;
b>>=;
}
return ans;
} ll pow_mod(ll a,ll n,ll mod) //快速幂 递归版
{
if(n>)
{
ll tmp=pow_mod(a,n>>,mod)%mod;
tmp=add_mod(tmp,tmp,mod);
if(n&) tmp=add_mod(tmp,a,mod);
return tmp;
}
return a;
} bool Miller_Rabbin(ll n,ll a) //米勒拉宾素数判断函数主体
{
ll d=n-,s=,i;
while(!(d&)) // 先把(2^s)*d 算出来
{
d>>=;
s++;
}
ll t=pow_mod(a,d,n); //a^d取一次余判断
if(t== || t==-) //一或负一则可以声明这可能是质数
return ;
for(i=; i<s; i++) //不是的话继续乘上s个2
{
if(t==n-) //(n-1)*(n-1)%n=1 这一步是优化
return ;
t=add_mod(t,t,n); // 快乘
}
return ;
} int is_prime(ll n)
{
ll i,tab[]= {,,,}; //本来应该取[1,n]内任意整数
for(i=; i<; i++) //但一般这几个数足以,不需要太多组测试
{
if(n==tab[i])
return ; //小判断小优化~
if(!n%tab[i])
return ;
if(n>tab[i] && !Miller_Rabbin(n,tab[i]))
return ;
}
return ;
}
ll max(ll a,ll b)
{
return a>b?a:b;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
ll n;
scanf("%llu",&n);
if(n==)
printf("2 2\n");
else
{
for(ll i=; i<=n/; ++i)
{
if(is_prime(i)&&is_prime(n-i))
{
printf("%llu %llu\n",i,n-i);
break;
}
}
}
}
}

当时还是我队友帮我D的bug,他现在都不理我了((ಥ_ಥ))

难受

计蒜客 25985.Goldbach-米勒拉宾素数判定(大素数) (2018 ACM-ICPC 中国大学生程序设计竞赛线上赛 B)的更多相关文章

  1. HDU6237-A Simple Stone Game-找素因子(欧拉函数)-2017中国大学生程序设计竞赛-哈尔滨站-重现赛

    A Simple Stone Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...

  2. HDU 6237.A Simple Stone Game-欧拉函数找素因子 (2017中国大学生程序设计竞赛-哈尔滨站-重现赛)

    A Simple Stone Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Ot ...

  3. 计蒜客 30990.An Olympian Math Problem-数学公式题 (ACM-ICPC 2018 南京赛区网络预赛 A)

    A. An Olympian Math Problem 54.28% 1000ms 65536K   Alice, a student of grade 66, is thinking about a ...

  4. 计蒜客 39279.Swap-打表找规律 (The 2019 ACM-ICPC China Shannxi Provincial Programming Contest L.) 2019ICPC西安邀请赛现场赛重现赛

    Swap There is a sequence of numbers of length nn, and each number in the sequence is different. Ther ...

  5. 计蒜客 Zoning Houses(线段树区间最大次大)

    Given a registry of all houses in your state or province, you would like to know the minimum size of ...

  6. 计蒜客 18492.Upside down primes-米勒拉宾判大素数 (German Collegiate Programming Contest 2015 ACM-ICPC Asia Training League 暑假第一阶段第三场 K)

    K. Upside down primes 传送门 这个题就是把大数按字符串输进去,判断一下是不是素数,然后反转180度,先判断反转之后的东西是不是一个数,如果是的话,再把这个数判一下是不是素数,如果 ...

  7. 计蒜客 28449.算个欧拉函数给大家助助兴-大数的因子个数 (HDU5649.DZY Loves Sorting) ( ACM训练联盟周赛 G)

    ACM训练联盟周赛 这一场有几个数据结构的题,但是自己太菜,不会树套树,带插入的区间第K小-替罪羊套函数式线段树, 先立个flag,BZOJ3065: 带插入区间K小值 计蒜客 Zeratul与Xor ...

  8. 计蒜客 18487.Divisions-大数的所有因子个数-Miller_Rabin+Pollard_rho-超快的(大数质因解+因子个数求解公式) (German Collegiate Programming Contest 2015 ACM-ICPC Asia Training League 暑假第一阶段第三场 F)

    这一场两个和大数有关的题目,都用到了米勒拉宾算法,有点东西,备忘一下. 题目传送门 F. Divisions 传送门 这个题是求一个数的所有因子个数,但是数据比较大,1e18,所以是大数的题目,正常的 ...

  9. HDU2138 & 米勒拉宾模板

    题意: 给出n个数,判断它是不是素数. SOL: 米勒拉宾裸题,思想方法略懂,并不能完全理解,所以实现只能靠背模板.... 好在不是很长... Code: /*==================== ...

随机推荐

  1. MyEclipse - 问题集 - Workspace in use or cannot be created, choose a different one(转)

    转:http://wsfly.iteye.com/blog/1044986 eclipse 使用一段时间后,有时会因为一些故障自己就莫名奇妙的关闭了,再打开时有时没有问题,有时有会提示错误 Works ...

  2. Caliburn Micro Binding KeyDown Event

    <TextBox x:Name="MyTextBox" TextAlignment="Left" FontSize="10" Widt ...

  3. 【Python-遇到的Error】AttributeError: 'str' object has no attribute 'input_text'

    学习类的实例化的时候遇到了AttributeError: 'str' object has no attribute 'input_text', 以下是报错的代码及修改正确的代码. class shu ...

  4. crmsh语法

    .查看配置信息 crm(live)# configure crm(live)configure# show node node1 node node2 property cib-bootstrap-o ...

  5. neutron floating ip 限速

    查看浮动ip的id [root@10e131e69e14 oz]# openstack floating ip show 36.111.0.197 +---------------------+--- ...

  6. kubeadm部署k8s1.9高可用集群--4部署master节点

    部署master节点 kubernetes master 节点包含的组件: kube-apiserver kube-scheduler kube-controller-manager 本文档介绍部署一 ...

  7. ajax-高设3

    ajax 1.XHR Ajax 技术的核心是 XMLHttpRequest 对象(简称 XHR),这是由微软首先引入的一个特性,其他浏览器提供商后来都提供了相同的实现.在 XHR 出现之前,Ajax ...

  8. Centos安装后的一些必要处理工作

    1永久关闭selinux,修改成permissive或者disabled(建议),修改完需重启 2配置network 3.禁止ping(可选,一般不需要禁止)(默认为0位启用ICMP协议,1为禁止), ...

  9. 【Luogu】P2490黑白棋(博弈DP)

    题目链接 题解链接 #include<cstdio> #include<cstring> #include<algorithm> #include<cstdl ...

  10. [TJOI2017][bzoj4889] 不勤劳的图书管理员 [线段树套线段树]

    题面 传送门 思路 考虑两本书的位置交换对答案的贡献: (为了方便描述,用"左边那本"和"右边那本"称呼两本我们要交换的书,"中间那本"是我 ...