
[分享]批處理判斷素數最后由 lincc0519 于 -12-8 22:11自己無聊做了個素數判斷的代碼,代碼中嵌入素數表以實現沒有臨時文件和去除建造素數表的時間,代碼盡量控制效率與文件體積,素數判斷范圍2^31-1,本來想發到原創代碼的,但權限不夠就發這里了!
nclick="copycode($('code0'));">復制代碼
- @echo off&setlocal ENABLEDELAYEDEXPANSION
- if %1.==. (exit/b2) else set/a i=%1||exit/b2
- if %i% lss 2 exit/b2
- set p=12121231321233132132342121272315133233151216621231533313215721273512343323424515132342126424236193533135331332165123316234545433243242756151215721272124542337233436231513515139212334330111545334623313659123132126130173349572123421365121236646323424272312313501032101221561543339321656487321215633918101134321243515753612156181321549012234812481243326101131323732132363372364395423130116184267512433212342135154275613218723432945334567233101415427246362301051801321632634240111216014133323162615181830108421210114635123135165157323433861273245433011315723915721572492312316011612331301113836136812372190125315151531515340155154359366193233915732116384339812313353669132940122123162701553673561234351273323151864923613330143724546921631833757333432163213011312912613332450168132121573245301021301524533436231323151830102670143010294323733515645154650121243249533135615333435313335401230111924501549215313294698316351513571815150102124833168423015151323343263462765012363101149537213543230157516518190129389319231545334231516233162792301024324273276210153366732129364326160158130117356312453301273246951512301032721273601253451015231627301764351548157216383424234336323349261531561301532456310141321861354012639327326436236361801021594272130113733531512101112336375634763231636815401116323916326436236316627383154930171014101131561324011315423426960102334218615451237601140141212756168101440114233724633291632379545016353313831630141548343501515162301021695151801324326346632401118753667326313384011101443260124518166017123633432130125337233163515301021301110122312301234210173486151534246011372165424627383423343561338433651392333694354927395456136601823423129634332912101223370153236301024243315645401236272310147816353334567578757383438010513212615130113129454011159721291234510151519293751018323757011310156591273011916324243516957872331321014101431237267872343233342427843264815423013354236701527011462345375315667339534923135154335195162345676245330102787545619365612163242121563372333430189231633327011619530130122121272334861021213319273014973561360153233721012233013593433015266181326913636012631601442361932330108133953124330128345370114831621011490171392334549321248166392333136501069231815715610123845160113180105166956315135916323101121518640111321530106546333291269163218667249267332436572181601523010125465636634873230180105015612101467301142937923130179183910122136365438645702031326721212435331333630125153633733026010351545661327846301115430111011345661536127513926496332337216623996186495013234332150102345101711665316015368610119675166212361891020483451294546291951212401413011637923433542195301001143015212930151243236701773213272130141234515151166596751635376272915424569943987335723166233618163273216996612124639165360124338619501051392102031812495631542361594323018315301237839150105432315162124536976843842139012956127533396101497867012601131542127632372131351015011123433866342101262343351360147326436237365334332124627951830103540186401161368331924954537011964014633436012872763560103249695157231501291875732301035316301554323401692345399168432331026781236136632753375784362401131901131938753613249681272466015842130116453337395615126429457833453436501054260139269301534301161233151233130119396463561815159301021301133937681332762198018637014163632180154012301551923640111301191515015101437830108132123162336132343548101112343872943663515160146919545024123451501510183531923487837231561363326132634213953463011136927338424011463386901542123013270131353733653165649953483348010215156343501059013230151243669240113160173963101478727623310182301060123011189669133323721011463534696351011733293010011160122991011126465721980193336536432370153540113465151351569010324011330153736635150151842139213243512342301561330114212036424011127513593010834360111216591011390151575480253545639101131234335910111875316501027312361276323135153610126633113234831567301737321015011423421014139011138318616233753462915483301515915424601205361621239763270152454359427834231516212342301601254951351293618101133492964330150116139203121635166014127011313357215345753160119459616261513933017316239918334359454512901360111210113378301056190211356135423664236015010301235615010332675964362751601581632123013291237027302618336013213011316635916659634353421012335751011375013294665634834330111501053022935123721654246264011435933436249563613218667573561632316393531954501038010654518301050101248192135967938010324323645163213518675343014139015017186198345454502233212701443870153015275334296310116436272312901038019812310200217231012531956181383421534519846963653396721501036380132915432337392195454512315021462391842157650102450192315010563601362401442401235438645640113151353343270144894230102931013366210111534693260123302743018216623346516893436951027215015642487632363127627301233566010933842301027513681236154321573369017453012315610155766833192301572331323732456301654011153012431684323487332156187219515360154965133266126901215348436573633210122343212372450161360110151395334213545348373451631011343543657539616578949663870125640113150303124875301236901210152163512738154011010339212124026701110110105451327230102316636816542310146456127014432123160293751301401643236612337840152154323013261596691264650102486438456732463020483018132310119153018762942751542198675733021533010546269157959432735015733260192123465393025323645016301115691343395126010540125130113195
- for %%a in (2 3 5) do if %i% equ %%a echo yes&exit/b0
- set /a c=i %% 3,d=i %% 5,e=i %%2,q=c*d*e,pn=5
- if !q! equ 0 echo no&exit/b1
- for /l %%a in (0,1,4791) do (
- set b=%%a
- for %%b in (!b!) do (
- set a=!p:~%%b,1!
- if !a! equ 0 set a=!p:~%%b,3!&set /a a=!a:~-2!
- )
- set /a pn+=a*2,z=i %% pn
- if %i% equ !pn! echo yes&exit/b0
- if !z! equ 0 echo no&exit/b1
- )
- echo yes&exit/b0

