Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vypočítať prvočiniteľov Integer v Perlu

Perl nemá preddefinované funkcie , ktorá vám umožní získať primárne faktory celé číslo , ale za použitia rekurzie a základňa - 10 čísel , môžete napísať vlastné funkcie pre dosiahnutie úlohy . Pomocou funkcie " mapy " umožňuje rekurzívne vykonať blok kódu na zozname. Použitím číslo ako zoznam , môžete opakovane extrahovať primárne faktory z neho dostať ich všetky , potom použite funkciu " sprintf " ich zobrazenie na obrazovke oddelené medzerou , aby boli čitateľnejší . Pokyny dovolená 1

Otvorte súbor programu v Perlu . Zadajte nasledujúci kód :

sub faktor {

pre ( $ i = 0 ; $ i < @ _ ; $ i + + ) {

$ num = @ _ [ ,"$ i ] ;

print " Predsedovia faktory @ _ [ $ i ] sú : " ;

tlač mape { sprintf ( " % s " , dĺžka ) , " " } GETNEXT ( 1x $ num ) ;

print " \\ n" ;

}

}

Tým sa vytvorí jednoduchú funkciu s názvom " faktor " , ktorý berie akékoľvek číslo parametrov a vytlačí z hlavných faktorov , z ktorých každý oddelené medzerou . To volá funkciu " GETNEXT " skutočne vypočítať primárne faktory
2

zadajte nasledujúci kód : .

Sub GETNEXT {

if ( $ _ [ 0 ! ( ? .. + ) ] ~ /^ \\ 1 + $ /) {

vrátiť @ _ ;

} else {

návrat mapa GETNEXT ( $ _ ) , ( " $ 1 " , $ _ [ 0 ] = ~ s /$ 1/1/g , $ _ [ 0 ] ) [ 0 , -1 ] ;

}

}

To vytvorí funkciu " GETNEXT " , ktorý kontroluje , či číslo je prvočíslo . Ak áno , vráti číslo na funkciu " faktor " , ktoré majú byť vytlačené . Ak nie , je rekurzívne volá sám nájsť ďalšie najnižšiu prvočíslo
3

zadajte nasledujúci kód :

faktor ( 45 ) ;

faktor . ( 3300,24 ) ,

Tieto dva riadky otestovať funkciu získať primárne faktory . Prvý riadok má iba jeden parameter , tak to ukazuje len jeden riadok . To vytlačí 3 , 3 a 5 ako primárny faktory . Ďalší riadok získa primárne faktory pre dve čísla . Pre 3300 , vytlačí 2 , 2 , 3 , 5 , 5 a 11 , a 24 , vytlačí 2 , 2 , 2 a 3.
4

Uložte program Perl .


Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené