UNIX,Linux,Retele,Programare

16 Jun 08 21:48

emi
Apprentice
Înregistrat: 13 Jun 08
Mesaje: 81

Numere prime; factorizare



Un numar prim este un numar natural (0,1,2, ... , n, ... infinit) care are proprietatea de a se divide doar cu 1 si el insusi. Adica daca il imparti la oricare alt numar natural mai mic ca el, nu obtii rest 0.

S-a mai pus problema: cum se poate factoriza un numar.
Cei care au citit The Art Of Computer Programming, stiu deja ca sunt mai multi algoritmi.

Pentru numere mici, cel mai eficient e cel de tip "brute force".
Adica ai un numar pe 32 de biti, si il imparti la toate numerele prime pe 16 biti.

nu trec la detalii pina nu vad ce parere aveti.

Editat ultima oară de emi (17 Jun 08 18:38)

Offline

 

» Think fast, try hard, die young...

tutoriale unix,tutoriale linux,tutoriale bsd

Scuze de offtopic


<- tare

16 Jun 08 22:53

Archangel
Skullbox Guardian
Locaţie: Aegyssus > Genucla
Înregistrat: 06 Jan 08
Mesaje: 948

Re: Numere prime; factorizare

doar o mica observatie, 2 este cel mai mic numar prim, si singurul par, deci 0 si 1 nu sunt numere prime

Offline

 

16 Jun 08 23:19

emi
Apprentice
Înregistrat: 13 Jun 08
Mesaje: 81

Re: Numere prime; factorizare

Archangel a scris:

doar o mica observatie, 2 este cel mai mic numar prim, si singurul par, deci 0 si 1 nu sunt numere prime

scuze pentru lipsa de exactitate in exprimare, numerele naturale incep cu 0 (conform axiomei), si se incrementeaza cu 1, pina la infinit.
O data, chiar un asistent universitar avea o problema, daca multimea numerelor naturale e infinita sau nu.

sa fiu rau ?

axioma(nr x chiar ca nu i-mi mai amintesc, da e pe acolo): orice numar natural are un succesor, adica dat fiind numarul natural n, exista si n+1,

Sa presupunem prin absurd ca multimea numerelor naturale ar fi finita. Inseamna ca exista n, care e cel mai mare numar natural. Conform axiomei, presupunerea e falsa, pentru ca exista n+1. qed.

Offline

 

16 Jun 08 23:32

Archangel
Skullbox Guardian
Locaţie: Aegyssus > Genucla
Înregistrat: 06 Jan 08
Mesaje: 948

Re: Numere prime; factorizare

scuze, inseamna ca am inteles eu gresit cand ai inceput cu "un numar prim este..."

Offline

 

17 Jun 08 08:48

AnaKonD
SkullBox Student
Locaţie: Iasi
Înregistrat: 13 Mar 07
Mesaje: 393

Re: Numere prime; factorizare

Si cerinta clara a concursului este...?

Ps: pune eticheta de incepator sau avansat ,etc. in titlu


"Să nu te opreşti niciodată din a-ţi pune întrebări, curiozitatea stă la baza existenţei."(Albert Einstein)
cross the line

Offline

 

17 Jun 08 21:09

emi
Apprentice
Înregistrat: 13 Jun 08
Mesaje: 81

Re: Numere prime; factorizare

AnaKonD a scris:

Si cerinta clara a concursului este...?
Ps: pune eticheta de incepator sau avansat ,etc. in titlu

Nu vroiam eticheta de concurs pe acest subiect. A mai fost un concurs pe tema asta, si acel subiect e inchis.
Am intrebat de ce sunt inchise asa de multe subiecte, si daca pot deschide unul nou pe tema asta.
Sigur nu s-a spus tot ce se poate spune despre acest subiect.

Deci acesta nu e un concurs, e o tema pentru cei interesati.

Eu am deja programele pentru factorizare scrise in pascal si assembler. In plus am gasit o metoda de a stoca toate numerele prime pe 16 de biti (adica peste 6 mii) ca sa ocupe cit mai putin.

Offline

 

17 Jun 08 21:32

AdyX
Moderator
Locaţie: Bucuresti
Înregistrat: 21 Nov 06
Mesaje: 884

Re: Numere prime; factorizare

Pai... aici e sectiunea de competitii - programare. Aici se posteaza doar concursuri. E drept ca nici eu nu am fost atent cand ti-am raspuns, si imi cer scuze pentru confuzie.


http://i4.photobucket.com/albums/y113/AdyX/userbar.jpg
Always be yourself.

Offline

 

18 Jun 08 10:05

AnaKonD
SkullBox Student
Locaţie: Iasi
Înregistrat: 13 Mar 07
Mesaje: 393

Re: Numere prime; factorizare

^^ sunt inchise deoarece s-au terminat acele concursuri. Este mai ordonat asa nu crezi? smile Cat despre subiecte, poti oricand sa deschizi unul la Algoritmi si tehnici de programare si sa-l dezbati acolo.


"Să nu te opreşti niciodată din a-ţi pune întrebări, curiozitatea stă la baza existenţei."(Albert Einstein)
cross the line

Offline

 

21 Jul 08 23:45

emi
Apprentice
Înregistrat: 13 Jun 08
Mesaje: 81

Re: Numere prime; factorizare

Am stabilit ca cel mai eficient algoritm de factorizare pentru numere mici e cel de tip "brute force" adica stim toate numerele prime mai mici decit radical din acel numar.
Pentru numere pe 32 de biti e suficient sa stii toate numerele prime pe 16 biti.
diferenta intre 2 numere prime impare e un numar par.
deci e suficient sa stim jumatarea diferentei intre 2 numere prime.
si de aici algoritmul.
am studiat, si am aflat ca diferenta intre 2 numere prime consecutive pe 32 de biti e mai mica de 512
deci diferenta lor impartita la 2 incape pe un byte.

Editat ultima oară de emi (22 Jul 08 19:21)

Offline

 

22 Jul 08 00:03

emi
Apprentice
Înregistrat: 13 Jun 08
Mesaje: 81

Re: Numere prime; factorizare

In acest fel toate numerele prime pe 32 de biti pot fi memorate pe mai putin de jumatate de CD.
Eu am facut acest program in pascal cu asm. Nu mai am sursele originale, din diverse motive. Ideile ramin. Si se pot rescrie.
( din cite i-mi mai amintesc era ceva un pic peste 240 de megi )

Editat ultima oară de emi (22 Jul 08 00:26)

Offline

 

» Failure is not an option, it's built-in

tutoriale unix,tutoriale linux,tutoriale bsd

Scuze de offtopic


38.103.63.61 <- te-am prins

Antet forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson



Ethical hacking and programming community