首页 > 其他分享 >板子

板子

时间:2023-10-24 20:24:51浏览次数:25  
标签:MillerRabin int 板子 while ans return mod

MillerRabin

点击查看代码
int test[10]={0,2,3,5,7,11,13,17,19,23};
int qpow(int x,int p,int mod){
    int ans=1;
    while(p){
        if(p&1) ans=(ans*x)%mod;
        x=(x*x)%mod;
        p>>=1;
    }
    return ans;
}
int MillerRabin(int p){
    if(p==1) return 0;
    int k=0,t=p-1;
    while(!(t&1)) k++,t>>=1;
    for(int i=1;i<=8;i++){
        if(p==test[i]) return 1;
        int now=qpow(test[i],t,p),la=now;
        for(int j=1;j<=k;j++){
            now=(1ll*la*la)%p;
            if(now==1&&la!=1&&la!=p-1) return 0;
            la=now;
        }
        if(now!=1) return 0;
    }
    return 1;
}

标签:MillerRabin,int,板子,while,ans,return,mod
From: https://www.cnblogs.com/jinjiaqioi/p/17785664.html

相关文章

  • uboot定制自己的板子--Apple的学习笔记
    一,前言既然下载了最新的uboot版本,那么就玩玩吧,先要定制自己的板子。二,问题分析及解决1,出错信息U-BootSPL2023.10(Oct192023-19:58:50+0800)TryingtobootfromMMC1U-Boot2023.10(Oct192023-19:58:50+0800)AppleCai'sam335BoardCPU:AM335X-GPrev2.1......
  • 板子哲学康复练习
    开学后第一次用Windows打代码,有种唐氏儿的美。Tarjantarjan求强连通不知道有没有过编,但大概没错。Miku'sCode#include<bits;/stdc++.h>#definergregisterint#defineilinlineilintMin(intx,inty){returnx<y?x:y;}ilintMax(intx,inty){returnx<y?y:......
  • BST-Treap名次树指针实现板子 Ver2.0
    为了更好的阅读体验,请点击这里这里只有板子没有原理QWQ可实现1.插入x数2.删除x数(若有多个相同的数,只删除一个)3.查询x数的排名(排名定义为比当前数小的数的个数+1)4.查询排名为x的数5.求x的前驱(前驱定义为小于x,且最大的数)6.求x的后继(后继定义为大于x,且......
  • 板子合集
    板子索引火车头#include<iostream>#include<cstdio>#include<iomanip>#include<cmath>#include<bitset>#include<algorithm>#include<set>#include<unordered_set>#include<map>#include<unordered_m......
  • 考点列表(附板子)
      我不能白给啊啊啊啊啊!!!!!  我会在这里将最近的考到的知识点罗列,也当是快速复习与刷题计划吧。Part1数论相关计数类Lucas定理点击查看代码constintMod=?;intpowM(intx,inty=Mod-2){ intret=1; while(y){ if(y&1)ret=1ll*ret*x%Mod; x=1ll......
  • 板子
    线段树#include<bits/stdc++.h>usingnamespacestd;structnode{intl,r;longlongpre,add,chen;}t[1000000];longlonga[1000000];longlongn,m,mod;voidbuild(intp,intl,intr){t[p].l=l;t[p].r=r;t[p].chen=1;if(l==r......
  • 各种OI板子
    以下内容不定时更新,想到啥写啥。。读写优化快读codetemplate<classT>inlinevoidread(T&res){ charch=getchar();boolf=0;res=0; for(;!isdigit(ch);ch=getchar())f|=ch=='-'; for(;isdigit(ch);ch=getchar())res=(res<<1)+......
  • xcpc自用板子
    Bellman-Ford最短路O(nm)intINF=0x3f3f3f3f; structedge{intfrom,to,cost;}edges[12405]; intn,m; edgees[1000]; intd[2510];  voidshortest_path(ints){      for(inti=0;i<=n;i++){             d[i]=INF;     ......
  • LCT板子
    //我坚信LCT可以平替树剖#include<bits/stdc++.h>#definelst[o].ch[0]#definerst[o].ch[1]#defineintlonglongusingnamespacestd;constintN=500010;constintinf=1e9;intread(){intx=0,f=1;charch=getchar();while(ch<48||ch>57......
  • 多项式板子
    FFTconstdoublepi=acos(-1.0);intrev[N];voidFFT(complex<double>*a,intnr,intflag){for(inti=0;i<nr;i++){if(i<rev[i])swap(a[i],a[rev[i]]);}for(inti=1;i<nr;i<<=1){complex<double>wn(cos(p......