Zenbakien faktorizazioa

Arrojeria, Eustakio

Elhuyar Zientziaren Komunikazioa

Lizaso, Pili

Informatika Saila

Elhuyar Fundazioa

Zenbakien faktorizazioa egitea ez da lan zaila eta beraz hori burutuko duen ordenadore-programa idaztea ere nahikoa sinplea izan daiteke.

Dena den, kasu askotan ordenadoreak berak kalkulu batzuk egin eta lortutako emaitzak itzultzea interesgarria izan arren, beste zenbait kasutan erabiltzaileak begirale hutsaren papera hartzea ere eragin dezake eta hau ebitatu nahian, guk geure programetan emaitzak erabiltzaileari berari eskatzen saiatzen gara.

Jakina da programak era honetara egiteak gauzak zailagotu egiten dituela edo gutxienez programa luzeagoak idazterazten dituela. Zergatik hori?

Erabiltzaileak normalean ez du erantzunak txukun, tarte bakar batekin, ordenatuta, etab. sartzeko ohiturarik izango, baina ezin zaio horregatik bakarrik sartu duen erantzuna oker dagoela esan.

Adibidez:

228 zeren faktorizazioa 2 2 . 3 . 19 da, baina erabiltzaileak 228 = 3 . 19. 2 2 sar dezake eta erantzuna zuzena izango litzateke.

Puntu honetan erabaki bat hartu ohi da: erabiltzaileari erantzunak sartzean bete behar dituen arauak garbi adierazi edo berak sartu nahi duen moduan sartzeko askatasuna (osoa ez bada ere) utzi.

Erabaki hau hartzerakoan kontuan izan behar da, noski, bigarren bidea interpretatu beharko duela nolabait bere emaitzarekin bat datorren ala ez egiaztatu ahal izateko.

Guzti hau azaltzearen arrazoia esku artean dugun programaren zatirik handiena erabiltzaileak emandako erantzuna interpretatzera zuzendua egotea da.

Hona hemen programa:

Programaren zatiak:

  • 70-210: 1etik 9999ra bitarteko zenbaki aleatorio bat sortu eta faktoreetan deskonposatu.
    Faktoreak Z taulan gordetzen dira. Taula honetako osagai bakoitza hiru elementuz osaturik dago:
    • Z (I,1) Æ Faktorea bera
    • Z (I,2) Æ I. faktorearen agerpen-kopurua (berretzailea)
    • Z (I,3) Æ faktore hori asmatua dagoen ala ez adieraziko du.
  • 220-460: Erabiltzaileak sakatzen dituen teklen kontrola eramaten da, harik eta honek RETURN sakatzen duen arte. Erabil daitezkeen teklak , Ø, borratzeko tekla eta zenbakiak dira.
  • 470-670: Erabiltzaileak sartutako katea zatitu eta faktore moduan gordetzen da S taulan; hots, berrekizuna, S (I,1), eta berretzaile, S (I,2), bikoteak.
  • 680-980: Programak sortu duen emaitza (Z) eta erabiltzaileak emandakoa (S) konparatzen dira eta dagokion mezua ematen (680-790).
    Edozein kasutan emaitza zuzena erakutsiko da (800-980).

Oharra:


Kasu honetan zenbakiak aleatorioki hartzen dira eta gerta daiteke ateratzen den zenbakia oso handia izatea, oso faktore gutxi izatea edota zenbaki lehena izatea. Hau erraz konpon daiteke zenbakia hiru aleatorio biderkatuz kalkulatzen badugu. Egizu proba!

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila