|
•misino
Strain
Karma: 10
Deconectat
Mesaje: 40
|
 |
« Răspunde #1 : Noiembrie 17, 2012, 13:48:25 » |
|
de ce imi afiseaza Killed by signal 8(SIGFPE). desi nu am depasit memoria si nu citesc numere prea mari Timpul de executie este 0 pt fiecare test
|
|
|
Memorat
|
|
|
|
•wefgef
|
 |
« Răspunde #2 : Noiembrie 17, 2012, 13:56:38 » |
|
Cam jeg cu erorile de precizie. Mergea precizata in enunt precizia care trebuie folosita.
|
|
|
Memorat
|
omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
|
|
|
•DraStiK
|
 |
« Răspunde #3 : Noiembrie 17, 2012, 14:02:02 » |
|
Cam jeg cu erorile de precizie. Mergea precizata in enunt precizia care trebuie folosita.
Merge problema si folosind long long, fara a avea nevoie de precizie.
|
|
|
Memorat
|
|
|
|
•Mihai22e
Client obisnuit

Karma: 20
Deconectat
Mesaje: 74
|
 |
« Răspunde #4 : Noiembrie 17, 2012, 15:44:13 » |
|
cum se rezolva aceasta problema?
|
|
|
Memorat
|
|
|
|
•Vman
|
 |
« Răspunde #5 : Noiembrie 17, 2012, 15:47:56 » |
|
pentru fiecare exponent se cauta binar baza astfel incat pow(baza, exponent) = N. apoi se verifica daca baza este numar prim. Asta se poate face optim cu testul de primalitate miller rabin, dar in cazul de fata intra si solutia naiva in sqrt(baza), adica iei toate numerele pana la radical si vezi daca vreunu divide baza
|
|
|
Memorat
|
|
|
|
•Mihai22e
Client obisnuit

Karma: 20
Deconectat
Mesaje: 74
|
 |
« Răspunde #6 : Noiembrie 17, 2012, 15:52:34 » |
|
asta fac si eu..iau pe rand toti exponentii de la 2 la 60 (pot sa am 2^59 < 10^18) si cu cu ajutorul cautarii binare caut baza. daca am gasit o baza a, astfel incat a^b = x (numaru' dat pentru acel test), verific daca a este prim; aici am 2 cazuri: a < 100 000 (verific in vectorul creat cu ajutorul ciurului) si a >= 100 000 (caut in vectorul v in care am numai numere prime < 100 000 daca exista vreun numar v astfel incat a % v = 0 => nu este prim, iar in caz contrar, este prim). nu mi-a intrat decat pe un test, restul wa
|
|
|
Memorat
|
|
|
|
•danalex97
|
 |
« Răspunde #7 : Noiembrie 17, 2012, 15:55:07 » |
|
testul de primalitate miller rabin
Imi dai , te rog , un link despre asa ceva ?
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
 |
« Răspunde #8 : Noiembrie 17, 2012, 15:55:35 » |
|
|
|
|
Memorat
|
|
|
|
•Mihai22e
Client obisnuit

Karma: 20
Deconectat
Mesaje: 74
|
 |
« Răspunde #9 : Noiembrie 17, 2012, 15:56:32 » |
|
multumesc de ajutor, o sa incerc si aceasta metoda, dar vreau sa stiu ce este gresit in rationamentul meu
|
|
|
Memorat
|
|
|
|
•danalex97
|
 |
« Răspunde #10 : Noiembrie 17, 2012, 16:10:27 » |
|
10x. 
|
|
|
Memorat
|
|
|
|
•DraStiK
|
 |
« Răspunde #11 : Noiembrie 17, 2012, 16:19:48 » |
|
multumesc de ajutor, o sa incerc si aceasta metoda, dar vreau sa stiu ce este gresit in rationamentul meu
Rationamentul tau este in principu bun, doar ca implementarea nu prea e buna. De exemplu, sursa ta pentru numarul 115651132813084969 nu da un raspuns corect. 115651132813084969 este 340075187^2, deci e ubercool, iar sursa ta nu e deacord.
|
|
|
Memorat
|
|
|
|
•Mihai22e
Client obisnuit

Karma: 20
Deconectat
Mesaje: 74
|
 |
« Răspunde #12 : Noiembrie 17, 2012, 16:24:44 » |
|
asa este, in functia in care compar a^b cu x, imi depaseste unsinged long long int. mersi drastik
|
|
|
Memorat
|
|
|
|
•darren
Client obisnuit

Karma: 106
Deconectat
Mesaje: 76
|
 |
« Răspunde #13 : Noiembrie 17, 2012, 18:02:39 » |
|
pentru fiecare exponent se cauta binar baza astfel incat pow(baza, exponent) = N
Sau, mergea foarte bine si chestia asta: baza = pow(N, 1.0 / i).
|
|
|
Memorat
|
|
|
|
•S7012MY
|
 |
« Răspunde #14 : Noiembrie 17, 2012, 18:06:22 » |
|
pentru fiecare exponent se cauta binar baza astfel incat pow(baza, exponent) = N
Sau, mergea foarte bine si chestia asta: baza = pow(N, 1.0 / i). Eu am incercat asa si nu mi-a mers. faceai vreun artificiu ?
|
|
|
Memorat
|
|
|
|
•darren
Client obisnuit

Karma: 106
Deconectat
Mesaje: 76
|
 |
« Răspunde #15 : Noiembrie 17, 2012, 18:10:49 » |
|
pentru fiecare exponent se cauta binar baza astfel incat pow(baza, exponent) = N
Sau, mergea foarte bine si chestia asta: baza = pow(N, 1.0 / i). Eu am incercat asa si nu mi-a mers. faceai vreun artificiu ? double now = pow((long double) N, 1.0 / i); long long inow = now; if (pow((long double) inow, i) == N) ... Nu cred ca era nevoie de long double, dar am pus asa doar ca sa ma asigur ca merge.
|
|
|
Memorat
|
|
|
|
•geniucos
|
 |
« Răspunde #16 : Noiembrie 22, 2012, 15:34:15 » |
|
Imi puteti da si mie niste teste mai mari,va rog?Pentru ca sa verific ca un numar n<=10^9 este prim am tinut toate numerele prime pana in 31624 si l-am impartit pe rand la toate<=sqrt(n).IIau 0 puncte cu 3TLE si 7 WA. Multumesc anticipat. Si inca ceva cat ar trebui sa dea pentru 0,respectiv 1?
|
|
« Ultima modificare: Noiembrie 22, 2012, 15:45:55 de către Oncescu Costin »
|
Memorat
|
|
|
|
•soriyn
|
 |
« Răspunde #17 : Noiembrie 22, 2012, 16:30:47 » |
|
Nu am rezolvat problema dar in timp nu are cum sa iti intre. Iar wa e normal sa iei pentru ca n<=10^18, deci trebuie sa retii toate numerele prime <= 10^9 si nu prea ai cum sa faci asta. Metoda ta de rezolvare nu e buna. Pentru 0 si 1 raspunsul ar trebui sa fie "NU"
|
|
|
Memorat
|
|
|
|
•geniucos
|
 |
« Răspunde #18 : Noiembrie 22, 2012, 21:24:58 » |
|
Eu am n=a^b cu b>=2 =>a<=10^9.Pentru a verifica daca a este prim am luat totate numerele prime<=sqrt(a)si daca a se imparte la vre unul din ele atunci nu este prim altfel este.Nu cred ca este ceva gresit in rationamentul meu.Sau daca da as vrea un test sau mai multe sa vad de ce. Nu ma astept la 100 de puncte dar vreau sa vad ce am gresit de iau WA. Daca nu este niimic gresit in rationamentul meu atunci ati putea sa imi dati niste teste mai mari sa imi gasesc greseala. Multumesc anticipat.
|
|
|
Memorat
|
|
|
|
•DraStiK
|
 |
« Răspunde #19 : Noiembrie 22, 2012, 21:48:09 » |
|
input: 10 66078623738400 418121490257280 1024192009 811864507620600 289852172683465681 1101642481 742726009 140802626764800 12400864 22968504
output: NU NU DA NU DA DA DA NU NU NU
|
|
|
Memorat
|
|
|
|
•geniucos
|
 |
« Răspunde #20 : Noiembrie 23, 2012, 11:26:21 » |
|
Multumesc foarte mult,in special pt testul 5.Am luat 100 cu ideea aia.
|
|
|
Memorat
|
|
|
|
|