回文与素数(附Rabin-Miller算法)

密码学—如何随机生成大素数以及Miller Rabin素性检测方法 素数被利用在密码学上,所谓的公钥就是将想要传递的信息在编码时加入质数,编码之后传送给收信人,任何人收到此信息后,若没有此收信人所拥有的密钥,则解密的过程中(实为寻找素数的过程),将会因为找质数的过程(分解质因数)过久,使即使取得信息也会无意义 给出两个大素数,很容易就能将它们两个相乘。但是,给出它们的乘积,找出它们的因子就显得不是那么容易了。这就是许多现代密码系统的关键所在。如果能够找到解决整数分 阅读详情

对于大素数,表示,试过了筛法求素数,一亿的筛子也得有个30M内存,OJ上直接爆掉。所以在网上找了个这个算法(用到了费马小定理)

似乎感觉129921这个数不太对。

另外在USACO服务器上执行的很蛋疼,而在我的电脑上执行特飘逸。(注意:给我感觉速度和普通的到根号n的速度差不多呃)

程序接口:bool isPrime(long n);

以下程序段为转载:

// 函数: bool isPrime(long n);
// 描述: 判断n是否为素数
// 算法: 费马小定理-卡尔麦克数
// 作者: 柴树杉
// 主页: chaishushan.googlepages.com
// 时间: 2006-11-04
#include<iostream>
#include <assert.h>
#include <stdlib.h>
using namespace std;
// 计算数组的元素个数
#define NELEMS(x) ((sizeof(x)) / (sizeof((x)[0])))
// 2^32范围内的所有卡尔麦克数
static const long CarmichaeNumbers[] =
{
561,1105,1729,2465,2821,6601,8911,10585,15841,29341,41041,46657,52633,62745,
63973,75361,101101,115921,126217,162401,172081,188461,252601,278545,294409,
314821,334153,340561,399001,410041,449065,488881,512461,530881,552721,656601,
658801,670033,748657,825265,838201,852841,997633,1024651,1033669,1050985,
1082809,1152271,1193221,1461241,1569457,1615681,1773289,1857241,1909001,
2100901,2113921,2433601,2455921,2508013,2531845,2628073,2704801,3057601,
3146221,3224065,3581761,3664585,3828001,4335241,4463641,4767841,4903921,
4909177,5031181,5049001,5148001,5310721,5444489,5481451,5632705,5968873,
6049681,6054985,6189121,6313681,6733693,6840001,6868261,7207201,7519441,
7995169,8134561,8341201,8355841,8719309,8719921,8830801,8927101,9439201,
9494101,9582145,9585541,9613297,9890881,10024561,10267951,10402561,10606681,
10837321,10877581,11119105,11205601,11921001,11972017,12261061,12262321,
12490201,12945745,13187665,13696033,13992265,14469841,14676481,14913991,
15247621,15403285,15829633,15888313,16046641,16778881,17098369,17236801,
17316001,17586361,17812081,18162001,18307381,18900973,19384289,19683001,
20964961,21584305,22665505,23382529,25603201,26280073,26474581,26719701,
26921089,26932081,27062101,27336673,27402481,28787185,29020321,29111881,
31146661,31405501,31692805,32914441,33302401,33596641,34196401,34657141,
34901461,35571601,35703361,36121345,36765901,37167361,37280881,37354465,
37964809,38151361,38624041,38637361,39353665,40160737,40280065,40430401,
40622401,40917241,41298985,41341321,41471521,42490801,43286881,43331401,
43584481,43620409,44238481,45318561,45877861,45890209,46483633,47006785,
48321001,48628801,49333201,50201089,53245921,53711113,54767881,55462177,
56052361,58489201,60112885,60957361,62756641,64377991,64774081,65037817,
65241793,67371265,67653433,67902031,67994641,68154001,69331969,70561921,
72108421,72286501,74165065,75151441,75681541,75765313,76595761,77826001,
78091201,78120001,79411201,79624621,80282161,80927821,81638401,81926461,
82929001,83099521,83966401,84311569,84350561,84417985,87318001,88689601,
90698401,92625121,93030145,93614521,93869665,94536001,96895441,99036001,
99830641,99861985,100427041,101649241,101957401,102090781,104404861,104569501,
104852881,105117481,105309289,105869401,106041937,107714881,109393201,109577161,
111291181,114910489,115039081,115542505,116682721,118901521,119327041,120981601,
121247281,122785741,124630273,127664461,128697361,129255841,129762001,130032865,
130497361,132511681,133205761,133344793,133800661,134809921,134857801,135556345,
136625941,139592101,139952671,140241361,144218341,145124785,146843929,150846961,
151530401,151813201,153589801,153927961,157731841,158404141,158864833,159492061,
161035057,161242705,161913961,163954561,167979421,168659569,169057801,169570801,
170947105,171454321,171679561,172290241,172430401,172947529,173085121,174352641,
175997185,176659201,178451857,178482151,178837201,180115489,181154701,182356993,
184353001,186393481,186782401,187188001,188516329,188689501,189941761,193708801,
193910977,194120389,194675041,196358977,200753281,206955841,208969201,212027401,
213835861,214850881,214852609,216821881,221884001,225745345,226509361,227752993,
228842209,230630401,230996949,231194965,237597361,238244041,238527745,241242001,
242641153,246446929,247095361,250200721,252141121,255160621,256828321,257495641,
258634741,266003101,270857521,271481329,271794601,273769921,274569601,275283401,
277241401,278152381,279377281,280067761,280761481,288120421,289766701,289860481,
291848401,292244833,292776121,295643089,295826581,296559361,299736181,300614161,
301704985,302751505,306871201,311388337,318266641,321197185,321602401,325546585,
328573477,329769721,333065305,333229141,334783585,338740417,346808881,348612265,
354938221,357277921,357380101,358940737,360067201,362569201,364590721,366532321,
366652201,367804801,367939585,368113411,382304161,382536001,390489121,392099401,
393122521,393513121,393716701,395044651,395136505,396262945,399906001,403043257,
403317421,405739681,413058601,413138881,413631505,416964241,417241045,419520241,
426821473,429553345,434330401,434932961,438359041,440306461,440707345,455106601,
458368201,461502097,461854261,462199681,471441001,471905281,473847121,477726145,
481239361,483006889,484662529,490099681,490503601,492559141,496050841,499310197,
503758801,507726901,509033161,510825601,511338241,516684961,517937581,518117041,
518706721,527761081,529782121,530443201,532758241,533860309,540066241,542497201,
544101481,545363281,545570641,547652161,548871961,549117205,549333121,549538081,
551672221,552894301,555465601,556199281,556450777,557160241,557795161,558570961,
558977761,561481921,561777121,564651361,568227241,569332177,573896881,577240273,
579606301,580565233,590754385,593234929,595405201,597717121,600892993,602074585,
602426161,602593441,606057985,609865201,611397865,612347905,612816751,616463809,
618068881,620169409,621101185,625060801,625482001,629692801,631071001,633639097,
638959321,642708001,652969351,656187001,662086041,672389641,683032801,683379841,
684106401,686059921,689880801,697906561,698548201,702683101,703995733,704934361,
705101761,707926801,710382401,710541481,711374401,713588401,717164449,721244161,
722923201,727083001,739444021,743404663,744866305,745864945,746706961,752102401,
759472561,765245881,771043201,775368901,775866001,776176261,781347841,784966297,
790020001,790623289,794937601,798770161,804978721,809702401,809883361,814056001,
822531841,824389441,824405041,829678141,832060801,833608321,834244501,834720601,
836515681,839275921,841340521,842202361,843704401,847491361,849064321,851703301,
851934601,852729121,854197345,855734401,860056705,863984881,867800701,868234081,
876850801,882796321,885336481,888700681,891706861,897880321,902645857,914801665,
918661501,928482241,930745621,931694401,934784929,935794081,939947009,940123801,
941056273,945959365,947993761,954732853,955134181,957044881,958735681,958762729,
958970545,962442001,962500561,963163201,963168193,968553181,968915521,975303121,
977737321,977892241,981567505,981789337,985052881,986088961,990893569,993420289,
993905641,1001152801,1018928485,1027334881,1030401901,1031750401,1035608041,
1038165961,1055384929,1070659201,1072570801,1074363265,1079556193,1090842145,
1093916341,1100674561,1103145121,1125038377,1131222841,1132988545,1134044821,
1136739745,1138049137,1140441121,1150270849,1152793621,1162202581,1163659861,
1177195201,1177800481,1180398961,1183104001,1189238401,1190790721,1193229577,
1194866101,1198650961,1200456577,1200778753,1206057601,1207252621,1210178305,
1213619761,1214703721,1216631521,1223475841,1227220801,1227280681,1232469001,
1251295501,1251992281,1254318481,1256855041,1257102001,1260332137,1264145401,
1268604001,1269295201,1271325841,1295577361,1299963601,1309440001,1312114945,
1312332001,1316958721,1317828601,1318126321,1321983937,1330655041,1332521065,
1337805505,1348964401,1349671681,1362132541,1376844481,1378483393,1382114881,
1384157161,1394746081,1394942473,1404111241,1404228421,1407548341,1410833281,
1419339691,1420379065,1422477001,1423668961,1428966001,1439328001,1439492041,
1441316269,1442761201,1445084173,1452767521,1481619601,1483199641,1490078305,
1490522545,1504651681,1505432881,1507746241,1515785041,1520467201,1521835381,
1528936501,1529544961,1534274841,1540454761,1545387481,1571503801,1573132561,
1574601601,1576826161,1583582113,1588247851,1592668441,1597009393,1597821121,
1615335085,1618206745,1626167341,1632785701,1641323905,1646426881,1648076041,
1657700353,1659935761,1672719217,1674309385,1676203201,1676641681,1678569121,
1685266561,1688214529,1688639041,1689411601,1690230241,1696572001,1698623641,
1699279441,1701016801,1705470481,1708549501,1726372441,1746692641,1750412161,
1752710401,1760460481,1769031901,1772267281,1773486001,1776450565,1778382541,
1784291041,1784975941,1785507361,1795216501,1801558201,1803278401,1817067169,
1825568641,1828377001,1831048561,1833328621,1836304561,1841034961,1845871105,
1846817281,1848112761,1848681121,1849811041,1854001513,1855100017,1858395529,
1879480513,1887933601,1894344001,1896961801,1899525601,1913016001,1916729101,
1918052065,1919767681,1932608161,1942608529,1943951041,1949646601,1950276565,
1954174465,1955324449,1958102641,1962804565,1976295241,1984089601,1988071801,
1992841201,1999004365,2000436751,2023528501,2029554241,2048443501,2048751901,
2049293401,2064236401,2064373921,2067887557,2073560401,2080544005,2097317377,
2101170097,2105594401,2107535221,2111416021,2111488561,2117725921,2126689501,
2140538401,2140699681,2159003281,2170282969,2176838049,2178944461,2199700321,
2199931651,2201169601,2212935985,2215407601,2216430721,2217951073,2223876601,
2224519921,2230305949,2232385345,2239622113,2244932281,2246916001,2258118721,
2265650401,2272748401,2278677961,2295209281,2301745249,2302419601,2309027281,
2313774001,2320224481,2320690177,2322648901,2323147201,2332627249,2335640077,
2339165521,2342644921,2353639681,2359686241,2361232477,2367379201,2377166401,
2391137281,2396357041,2407376665,2414829781,2430556381,2436691321,2438403661,
2443829641,2444950561,2456536681,2457411265,2467813621,2470348441,2470894273,
2479305985,2480343553,2489462641,2494465921,2494621585,2497638781,2509860961,
2510085721,2519819281,2523947041,2527812001,2529410281,2539024741,2544590161,
2547621973,2560104001,2560600351,2561945401,2564889601,2573686441,2574243721,
2575260241,2586927553,2588653081,2597928961,2598933481,2601144001,2602378721,
2605557781,2607162961,2607237361,2616662881,2617181281,2630374741,2642025673,
2657502001,2665141921,2677147201,2685422593,2690867401,2693939401,2702470861,
2709611521,2723859001,2733494401,2735309521,2766172501,2766901501,2770560241,
2776874941,2787998641,2797002901,2801124001,2806205689,2811315361,2815304401,
2832480001,2833846561,2842912381,2858298301,2867755969,2942952481,2943556201,
2965085641,2998467901,3001561441,3007991701,3022354401,3024774901,3025708561,
3030758401,3034203361,3035837161,3044238121,3044970001,3068534701,3069196417,
3072080089,3072094201,3077802001,3078386641,3086434561,3088134721,3090578401,
3102234751,3104207821,3105567361,3112974481,3119101921,3138302401,3159422785,
3159939601,3164207761,3180288385,3180632833,3188744065,3190894201,3193414093,
3203895601,3215031751,3222053185,3232450585,3240392401,3245477761,3246238801,
3248891101,3249390145,3263564305,3264820001,3270933121,3277595665,3281736601,
3284630713,3307322305,3313196881,3313744561,3314111761,3319323601,3328437481,
3345878017,3347570941,3348463105,3353809537,3378014641,3380740301,3411338491,
3413656441,3429457921,3438721441,3441837421,3480174001,3504570301,3508507801,
3521441665,3534510001,3555636481,3574014445,3575798785,3576804001,3600918181,
3618244081,3630291841,3637405045,3682471321,3697952401,3711456001,3712280041,
3713287801,3715938721,3722793481,3727589761,3754483201,3767865601,3776698801,
3787491457,3799111681,3800513761,3801823441,3805181281,3832646221,3834444901,
3835537861,3858853681,3863326897,3880251649,3891338101,3892568065,3901730401,
3907357441,3922752121,3928256641,3951813601,3981047941,3998554561,4015029061,
4030864201,4034969401,4059151489,4065133501,4077957961,4115677501,4127050621,
4134273793,4138747921,4146685921,4160472121,4162880401,4167038161,4169092201,
4169867689,4189909501,4199202001,4199529601,4199932801,4202009461,4210922233,
4212413569,4215885697,4216799521,4277982241 // 1119: 4295605861, 溢出
};
//hash表的改进方法, 只需要保存下标
// 经测试, 最多有6次冲突, b[i][0]保存数目
// 注意buckets的个维大小是人工测试得到!!
static short buckets[1021][6+1];
// 自动初始化hash表
static struct init
{
init(void)
{
for(int i = 0; i < NELEMS(CarmichaeNumbers); ++i)
{
// buckets[v]类似一个栈
// buckets[v][0]记录栈顶位置
// 最多有6次冲突, 不会溢出
int key = CarmichaeNumbers[i]%NELEMS(buckets);
assert(buckets[key][0] < NELEMS(buckets[0])-1);
buckets[key][++buckets[key][0]] = i;
}
}
} _init;
// bsearch的判断函数
static int cmp(const void *x, const void *y)
{
return *((long*)x) - *((long*)y);
}
// 判断是否是卡尔麦克数
static bool isCarmichaelNum(long n)
{
// 改进: 采用hash表查找
int i, key = n%NELEMS(buckets);
for(i = 1; i <= buckets[key][0]; ++i)
if(n == CarmichaeNumbers[buckets[key][i]]) return true;
return false;
// 二分法查表CarmichaeNumbers表
return NULL !=
bsearch(&n, CarmichaeNumbers, NELEMS(CarmichaeNumbers), sizeof(n), cmp);
}
// 判断是否是费马(伪)素数
static bool isFermatNum(long p)
{
long m = p--;
long r = 2%m;
long k = 1;
// 蒙格马利快速幂模算法
while(p > 1)
{
if(p&1) k = (k*r) % m;
r = (r*r)%m; p >>= 1;
}
return (r*k)%m == 1;
}
// 根据费马小定理测试
bool isPrime(long n)
{
// 处理比较特殊的情况
if(n < 2) return false;
if(n == 2) return true;
// 是费马(伪)素数但不是卡尔麦克数则必定为素数
return isFermatNum(n) && !isCarmichaelNum(n);
}

long bsearch(long key,long st,long en,bool flag)
{
     long mid = (st + en) >> 1;
 
     if ((flag) && (en - st == 1) && (key == list[st]))
        return st;
     else if ((! flag) && (en - st == 1) && (key == list[en]))
           return en + 1;
     else if (en - st == 1)
          return en;
 
     if (list[mid] <= key)
        return bsearch(key,mid,en,flag);
     else if (list[mid] > key)
        return bsearch(key,st,mid,flag);
}
 
long long sqr(long long x)
{
     return x * x;
}
long long mod_pow(long a,long n,long m)
{
     if (n == 0) 
        return 1 % m;
     else if (n == 1)
          return a % m;
     else if (! (n & 1))
          return sqr(mod_pow(a,n >> 1,m)) % m;
     else if (n & 1)
          return a * (sqr(mod_pow(a,n >> 1,m)) % m) % m;
}
 
bool miller_rabin(long x)
{
     long long a;
 
     for (int i = 0; i < 4; i++)
     {
         a = (rand() % (x - 1)) + 1;
         if (mod_pow(a,x-1,x) != 1)
            return false;
     }
 
     return true;
}


10^8筛法求素数:大约需要30MB的内存+6秒,10^7需要0.6秒,而10^6只需要不到0.09秒。

尾数为奇数的(2除外)可能为素数,尾数为5的数(5除外)必定不是素数。

大质数的部分筛法:判断大质数(例如10^8)的时候有一个有效的优化,就是用筛法筛出1..10000(一万)以内的质数,再转存到数组q中,然后判断时只要用待判断的数mod q[n] 就可以了,这样很快。

素数与回文数:偶数位数的回文数必定不是素数(11除外),因为他们都有11这个因数。

while(num)
		{
			temp=temp*10+num%10;
			num/=10;
		}

while(q > buf)
	*p++ = *--q;
    *p = '\0';


Miller-Rabin素数检测算法 今天看了一下Miller-Rabin素数检测的算法,总结了一下,希望这篇博客对你们有帮助。 先说几个理论基础: 1. 费马小定理:假如p是质数,a是整数,且a、p互质,那么a的(p-1)次方除以p的余数恒等于1,即:a^(p-1)≡1(mod p). 但是反过来却不一定成立,就是说,如果a、p互质,且a^(p-1)≡1(mod p),不能推出p是质数,比如Carmichael数。 2. 阅读详情

相关推荐

Miller_Rabin素数测试

关于素数的研究已有相当长的历史,近代密码学的研究又给它注入了新的活力.在关于素数的研究中素数的测试是一个非常重要的问题.Wilson 定理给出了一个数是素数的重要条件. Wilson 定理  对于给定的正整数 n,判定 n 是一个素数的充要条件是           (n-1)!≡ -1(mod n)Wilson 定理有很高的理论价值.但实际用于素数测试所需要计算量太大,无法实现对

fisher_jiang的专栏 1万+

数据结构和算法 数论 素数/质数、回文素数

素数是初等数论中重点研究的对象,早在公元前300年,当时古希腊著名数学家欧几里得发现了数论的本质是素数。欧几里得在其著作《几何原本》中证明了素数具有无穷多个。 素数又称为质数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数。比1大,但不是素数的称为合数。0和1既不是素数也不是合数。 素数的分布没有很明显的规律,仍然有很多伟大的数学家对其进行研究。例如,最早的欧几里得、17世纪法国的费尔马、法国的梅森等。

学以致用 知行合一 2332

Miller-Rabin素数检测算法笔记

本文内容主要参考《程序员的数学思维修炼》一书中对素数和余数的讲解及这篇博文: Miller-Rabin素数测试学习笔记 以及这篇文章: 数论部分第一节:素数与素性测试 先介绍一个概念:互素(或叫互质) 如果a和b两个数的公约数只有1,那么a和b互质,记做(c,m)=1。 Fermat小定理 卡迈克尔数 Fermat素性测试 伪素数 流程图

不知道是谁的博客 3990

【python】算法设计:回文素数

【python】算法设计:回文素数

m0_56848083的博客 1万+

素数判定的一些讨论(Miller-Rabin算法)

很久没有写博客了。。。最近军训加开学,感觉刷题速度有降低,要补一补。 回归正题,正式进入数论阶段,讨论一下关于素数判定的那些事。 一类问题: 判定一个整数n(n>1)是否为素数。 算法1: 直接根据素数的定义枚举ii从22到(n−1)(n-1),如果n%i==0nn为合数。 时间复杂度:O(n)O(n) bool is_prime(int n) { int i;

Sunshine_cfbsl 4350

【学习笔记】Miller–Rabin素数测试

【算法简介】 MillerRabinMillerRabinMillerRabin 素数测试是一种判断一个数是否是质数的方式。 其单次测试的时间复杂度不会超过 O(Log2N)O(Log2N) O(Log^2N) ,期望为 O(LogN)O(LogN) O(LogN) ,几乎不需要额外的空间。 MillerRabinMillerRabinMillerRabin 素数测试不是...

cz_xuyixuan的博客 4658

素数回文数的个数

描述 求11到n之间(包括n),既是素数又是回文数的整数有多少个。 输入 一个大于11小于1000的整数n。 输出 11到n之间的素数回文数个数。 样例输入 23 样例输出 1 提示 回文数指左右对称的数,如:292,333。 来源 06计算概论课 在判断回文数时,可以利用取模分离各个数位,逆序构造数,看逆序和正序的数是否是同一个,如果是,那么这个数就是回文数 ...

yanyanwenmeng的博客 4241

Miller–Rabin 素性检验算法

算法介绍 Miller-Rabin素数检验或Rabin-Miller素数检验是一种概率素数检验:一种确定给定数是否可能是素数的算法,类似于费马素数检验和Solovay-Strassen素数检验。作为实践中使用比较广泛的素性检验算法的一种, Miller-Rabin算法最早在1976年由Gary L. Miller提出(当时该算法是确定性的), 并在1980年由Michael O. Rabin改进为无条件的概率算法. 数学原理 算法的主要思想就是检验数是否满足特定的素数条件, 这些条件在Miller-Rabi

fa1c4的blog 2945

Miller-Rabin素数测试算法

知识点系列之---Miller-Rabin素数测试

forever_dreams的博客 3万+

0901-Miller_Rabin素数测试算法+例题

看了好久终于把这个Miller_Rabin搞懂了,觉得自己棒棒哒~~~最后是在下面那篇博客里搞懂的,这里推荐给大家 --&gt;参考&lt;-- 【写在前面】 费马定理 and 二次探测&lt;证明来源&gt; 然后费马定理是一个必要条件,也就是说素数一定满足这个定理,但满足这个定理的不一定是素数,比如说Carmichael数(我没研究过,有兴趣的同学自己百度吧,反正这种数就是反例)。...

Faithfully-xly的博客 1652

素数判定之Miller-Rabin算法

费马小定理 P为素数时, 二次探测原理 所以 结合起来 对于p-1,将其分解,因为p为素数,所以一定是奇数(2被特判掉了),那么p-1为偶数, 因此可以通过将p-1不断除2(直到除成奇数),将p-1分解为u*(2^k)的形式,其中u为奇数 那么,随机一个数a,计算a^u,然后不断将其平方(二次探测原理),判断是不是素数, 最后计算到a^(p-1),的时候看其是否为1(费...

这里RevolIA,_(:з」∠)_ 1163

素数判定Miller_Rabin 算法详解

素数判定Miller_Rabin  算法详解 上次说好的要把素数判定和大数分解(见另一篇博文)的快速随机化算法解决了,于是乎今天就来解决,不得不说理解起来真的有困难。我只能大概的将思路理一下,若有错漏还请担待。

JUST CODE 2万+

【知识点】大数分解与素数判定 --- 【Miller-rabin算法】【pollard-rho算法】

1.Miller-rabin算法: Miller-rabin算法是一个用来快速判断一个正整数是否为素数的算法。 根据费马小定理,如果p是素数,则a^(p-1)≡1(mod p)对所有的a∈[1,n-1]成立。所以如果在[1,n-1]中随机取出一个a,发现不满足费马小定理,则证明n必为合数。 为了计算a^(n-1)mod n,我们把n-1分解为u* 2^t的形式,其中t>=1且u是奇数;因

咸鱼の小窝 1858

Miller-Rabin大素数判断算法的原理及其实现

大数素性检测一直是数论界、密码学界等经久不衰的研究方向,实现大数素性检测的算法也在不断地被改进。目前已经出现了很多大数素性检测的算法,而Miller-Rabin算法在其中显得十分耀眼。本文调研了常见的大素数判断算法,并详细介绍了Miller-Rabin大素数判断算法的原理,然后结合相关的数论知识,以生成一个512bits的大素数为例,编程实现了该大素数判断算法。

Innocence_0的博客 2523

素数回文数

在C语言变成中或课程作业中非常常用的代码

QGIS三维地形可视化实战:从DEM数据到炫酷3D场景(附Qgis2threejs插件配置)

本文详细介绍了如何利用QGIS和Qgis2threejs插件,将DEM数据转化为交互式三维地形场景的完整工作流。核心内容包括DEM数据准备、坐标系选择(重点对比WGS 84与UTM的差异及影响)、插件核心参数配置、卫星影像与等高线叠加等进阶技巧,并提供了成果导出与常见问题解决方案,帮助用户高效创建可用于网页展示的炫酷3D可视化成果。

mqtt6iot的博客 875

素数判定 Miller-Rabin 算法的实现 python

素数判定 Miller-Rabin 算法的实现 实验目的 通过实验掌握 Miller-Rabin 素数判定的算法。 实验原理 Miller-Rabin primality test | encyclopedia article by TheFreeDictionary Miller-Rabin 素性测试或 Rabin-Miller 素性测试是一种概率素性测试: 一种判断给定数字是否可能为素数的算法,类似于费马素性检验和 Solovay-Strassen 素性测试。 强概要素数:对于一个给定的奇数整数 n &

SKPrimin的博客 1821

4. PCIe 接口时序

在上一篇中,大致介绍IPcore接口。总的来说接口如下图数据的接收和发送通过transmitTLPinterface和ReceiveTLPinterface。收发数据的时序也只是描述这几个接口的关系。从手册上截取PCIex1的接口时序。

jjinl的专栏 6119

Miller Rabin 概率算法测试素数(强伪素数)

一.费马小定里  if n is prime and (a,n) equals one ,then a^(n-1) = 1 (mod n) 费马小定理只是个必要条件,符合费马小定理而非素数的数叫做Carmichael. 前3个Carmichael数是561,1105,1729。 Carmichael数是非常少的。 在1~100000000范围内的整数中,只有255个C

charles的专栏 6079

第六章 汇川技术InoProShop入门之modbusTCP从站协议解读

摘要:ModbusTCP从站协议是Modbus协议在TCP/IP网络上的扩展,作为服务器端被动响应主站请求。它采用MBAP+PDU帧结构,通过IP地址和502端口实现网络通信,支持标准功能码(如读/写寄存器、线圈)。相比传统串行Modbus,具有高速传输、远距离通信优势。从站需解析请求、执行操作并返回响应,同时处理错误校验和并发连接。该协议广泛应用于智能传感器、PLC等工业设备,实现高效可靠的主从数据交互。

zyfucking2010的博客 1435

基于强化学习控制策略的三相逆变器仿真

强化学习控制器的核心在于定义状态空间、动作空间、奖励函数以及选择合适的强化学习算法(例如DQN、DDPG等)。对于三相逆变器,状态可以是输出电压、电流等信息;动作则可能是调制指数的变化量;奖励函数则应鼓励快速准确地跟踪参考信号。定义状态空间和动作空间状态空间可以包括逆变器的输出电压、电流及其变化率等信息。动作空间则是控制器可执行的动作,例如PWM信号的调整幅度。matlab深色版本% 定义状态和动作空间维度numObs = 6;% 假设有六个状态变量(例如三相电压和电流)

amy_mhd的博客 135
上一篇: USACO1.4 The Clocks 解题报告
下一篇: 在西电的大一上
Panda_Ming
博客等级 码龄15年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值