Pagini: [1] 2   În jos
  Imprimă  
Ajutor Subiect: 188 Suma divizorilor  (Citit de 8028 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
ditzone
Vizitator
« : Martie 03, 2006, 18:23:40 »

Aici puteţi discuta despre problema Suma divizorilor.
Memorat
pauldb
Nu mai tace
*****

Karma: 821
Deconectat Deconectat

Mesaje: 1.901



Vezi Profilul
« Răspunde #1 : Martie 11, 2006, 14:05:19 »

Puteti sa imi ziceti cat va da pe testele astea:

17297398 38883838
47468734 37682100
50000000 50000000
12345678 48765012

Thanx
Memorat

Am zis Mr. Green
vladcyb1
Vorbaret
****

Karma: 33
Deconectat Deconectat

Mesaje: 166



Vezi Profilul
« Răspunde #2 : Martie 11, 2006, 14:41:48 »

Daca nu am busit cand am bagat datele ar trebui sa dea asa
Cod:

2161
5304
7544
5200
Memorat

Vlad Berteanu
alex_prg
Strain


Karma: -5
Deconectat Deconectat

Mesaje: 21



Vezi Profilul
« Răspunde #3 : Martie 15, 2006, 13:29:46 »

nu stie cineva cum pot calcula restu impartirii la 9901 a unui produs de mai multe progresii geometrice? ... presupun ca un algoritm liniar nu intra in timp ... deci in timp logaritmic  ....  la ce ma ajuta faptul ca 9901 ii prim ?
Memorat

reality is just an illusion created by the lack of alcohol
u-92
Vizitator
« Răspunde #4 : Martie 15, 2006, 13:36:30 »

O problema foarte asemanatoare  a fost propusa la preONI, articolul cu explicatii este aici: http://info.devnet.ro/articole.php?page=art&art=85&artpage=5
citeste articolele Wink
Memorat
cristy
De-al casei
***

Karma: 2
Deconectat Deconectat

Mesaje: 136



Vezi Profilul
« Răspunde #5 : Aprilie 08, 2006, 09:08:34 »

si eu am o nelamurire asemanatoare... adica....cum calculez ((A^B-1)/(A-1)) modulo N ?...fara a efectua inpartirea?
Memorat

... lipsa de inspiratie ...
ditzone
Vizitator
« Răspunde #6 : Aprilie 08, 2006, 09:38:32 »

Avand in vedere faptul ca N=9901 este prim poti transforma impartirea in inmultire... Adica pentru orice X exista un X' astfel incat
A/X = A*X' modulo N(oricare ar fi A). Acest X satisface proprietatea X*X'=1 (mod N) adica este simetricul lui X in corpul (Zn,*). Draguta algebra de a 12-a Smile
Memorat
cristy
De-al casei
***

Karma: 2
Deconectat Deconectat

Mesaje: 136



Vezi Profilul
« Răspunde #7 : Aprilie 08, 2006, 10:27:42 »

adica...tot ce traba sa fac e sa gasesc inversu numitorului?...si inmultesc cu el?...si fac modulo N?...
Memorat

... lipsa de inspiratie ...
u-92
Vizitator
« Răspunde #8 : Aprilie 08, 2006, 10:42:50 »

ai vazut link`ul de mai sus in care se explica exact cum se face chestia asta?  Whistle
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #9 : Ianuarie 05, 2008, 21:52:11 »

Am citit topicul asta, insa nu prea m-am lamurit. Ati putea sa-mi spuneti cum pot calcula E=a^0+a^1+a^2+ ... +a^x  in timp logaritmic? Stiu cum se calculeaza logaritmic a^y, insa nu vad cum m-ar putea ajuta...
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #10 : Ianuarie 05, 2008, 22:04:20 »

Pai E ala este o progresie geometrica. Nu stii formula pentru progresii geometrice?
« Ultima modificare: Ianuarie 05, 2008, 22:30:11 de către Andrei Grigorean » Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #11 : Ianuarie 05, 2008, 22:07:45 »

Mda...am uitat ca mai exista si formula pt suma primilor n termeni ai unei progresii geometrice... Ce face timpul din oameni... Multumesc mult!  Thumb up
Memorat
DITzoneC
Nu mai tace
*****

Karma: 301
Deconectat Deconectat

Mesaje: 962



Vezi Profilul
« Răspunde #12 : Ianuarie 05, 2008, 23:47:28 »

Sau poti aplica metoda folosita la problema Calcul. (vezi in articolul asta)
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #13 : Ianuarie 06, 2008, 13:14:28 »

Din ce am inteles din articolul ala:

In loc sa calculez (A^(B+1)-A) / (A-1), trebuie sa calculez [ (A-1) ^ (phi(9901)-1) ]* (A^(B+1)-A).
Deci in loc sa impart la (A-1) si sa aplic dupaia %9901, inmultesc cu inversul lui, care e de fapt (A-1)^(phi(9901)-1), putand aplica "%9901" la fiecare pas.
Am inteles bine?  Ca nu prea imi da corect...  Think
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #14 : Ianuarie 06, 2008, 15:35:00 »

Vad ca ai TLE-uri la ultima sursa trimisa, nu WA-uri Smile.

Din cate imi aduc aminte, parca era un caz particular, cand A = 1. Nu mai stiu exact.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #15 : Ianuarie 06, 2008, 18:19:09 »

La ultima sursa trimisa am facut in mod liniar... [ un fel de brute force ] . Nu imi da corect pe testele mele, daca fac cum scrie in articolul ala. Nu imi dau seama care e problema...  Confused phi(9901)=9900, nu?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #16 : Ianuarie 06, 2008, 21:31:07 »

Iti da bine atunci cand:

- A = 1
- B = 0
- A = 9901
- B = 1

?
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #17 : Ianuarie 07, 2008, 14:48:16 »

pt a=1 si b=0 imi da bine. Dar pt a=9901 si b=1 imi afiseaza 0.

Am ceva de genu:

 sol = ( p u t e r e ( i - 1 , 9901-2 )  *( p u t e r e ( i , b * r + 1)  - i ) ) % 9901;
 P = ( P * s o l ) % 9901;

unde P e solutia finala, iar "i" e factorul prim care apare la puterea "r" in factorizarea lui A.
Functia "putere(x,y)" imi returneaza x^y in O(log(y)),facand la fiecare pas (inmultire) operatia "%9901".

Care e greseala?  sad
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #18 : Ianuarie 07, 2008, 15:03:45 »

Poti sa iti iei testele de la ONI 2002 sa iti verifici (vezi Downloads).
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #19 : Ianuarie 07, 2008, 15:39:21 »

Ideea e ca nu imi da bine nici pe testele mele. Nu inteleg ce gresesc. Factorizarea o fac sigur bine, ridicarea x^y e sigur buna, insa nu stiu daca e bine cum aflu suma aia (1+a^1+..+a^b) . E bine ce am scris cu un post mai sus?
Memorat
astronomy
Nu mai tace
*****

Karma: 204
Deconectat Deconectat

Mesaje: 492



Vezi Profilul
« Răspunde #20 : Ianuarie 07, 2008, 15:59:18 »

Nu faci bine suma, e (a^(b+1)-1)/(a-1)
Memorat
Florian
Nu mai tace
*****

Karma: 125
Deconectat Deconectat

Mesaje: 832



Vezi Profilul
« Răspunde #21 : Ianuarie 07, 2008, 16:32:43 »

Ar trebui modificat si in articolul cu solutii pt "Calcul"... asta se intampla daca ai prea mare incredere in articole..  Multumesc de ajutor.
Acum imi iese, insa iau niste incorecturi. Problema apare atunci knd [a^(b+1)]%9901==0. Atunci knd scad 1, imi da -1, si imi iese numar negativ. Deci atunci knd a-ul este un multiplu a lui 9901. Cum as putea sa rezolv?
Memorat
wefgef
Nu mai tace
*****

Karma: 1049
Deconectat Deconectat

Mesaje: 3.008


razboinicu' luminii


Vezi Profilul
« Răspunde #22 : Ianuarie 07, 2008, 17:17:25 »

Ar fi bine sa citesti cateva notiuni de teoria numerelor. Uita-te in Cormen Smile.

-1 congruent cu 9900 modulo 9901.
Memorat

omului i-au fost date instinctele pentru a supravietui, nu pentru a fi sclavul lor.
domino
Echipa infoarena
Nu mai tace
*****

Karma: 281
Deconectat Deconectat

Mesaje: 1.340



Vezi Profilul WWW
« Răspunde #23 : Ianuarie 09, 2008, 09:07:51 »

Ar trebui modificat si in articolul cu solutii pt "Calcul"... asta se intampla daca ai prea mare incredere in articole..  Multumesc de ajutor.
Acum imi iese, insa iau niste incorecturi. Problema apare atunci knd [a^(b+1)]%9901==0. Atunci knd scad 1, imi da -1, si imi iese numar negativ. Deci atunci knd a-ul este un multiplu a lui 9901. Cum as putea sa rezolv?

Articolul n-are nimic gresit. Daca te uitai atent vedeai ca la Calcul suma incepe de la A^1, iar aici iti trebuie de la A^0, d-aia difera un pic formula.
Memorat
floflow
Strain


Karma: -13
Deconectat Deconectat

Mesaje: 8



Vezi Profilul
« Răspunde #24 : Martie 09, 2008, 23:38:40 »

Se poate uita cineva pe sursa mea ? imi da bine, doar ca iau 10 puncte.
Ms anticipat.
Memorat
Pagini: [1] 2   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines