Bine ai venit guest
 
User:
Pass:

[Creare cont]
[Am uitat parola]
iBac = materialul ULTRACOMPLET de pregătire pentru bac la mate. Dacă vrei poţi.
Forum pro-didactica.ro  [Căutare în forum]

Forum » Problema săptămânii » Care-i divizorul...?
[Subiect nou]   [Răspunde]
[1]
Autor Mesaj
petrebatranetu
Grup: moderator
Mesaje: 3161
29 Nov 2009, 14:01

[Trimite mesaj privat]

Care-i divizorul...?    [Editează]  [Citează] 

Numarul
,
are
divizori
.
Cat este
?


---
Doamne ajuta...
Petre
minimarinica
Grup: moderator
Mesaje: 1536
28 Nov 2009, 11:58

[Trimite mesaj privat]


[Citat]
Numarul
,
are
divizori
.
Cat este
?




---
C.Telteu
gauss
Grup: Administrator
Mesaje: 6933
28 Nov 2009, 13:12

[Trimite mesaj privat]


Problemele de programare au un trend bogat pe pagina asta...

Presupunand ca numerele a,b,c ordonate ca in enuntz sunt (naturale si) >0, atunci numarul dat este determinat de conditia ca numarul lui de divizori

(a+1)(b+1)(c+1) este 41.7.7

si de faptul ca factorii de mai sus vin gata ordonati in ordinea scrisa.
Ne ramane un simplu exercitiu de programare, rezolvat desigur intr-o linie (sagemath):

sage: ( 2^40 * 3^6 * 5^6 ).divisors() [ 1996-1 ].factor()
2^38 * 3^6 * 5^5

(Acel minus unu vine de la faptul ca python -si sage bazat pe el- incepe numaratoarea de la 0...)
In limbaj uman: Ia numarul 2^40 * 3^6 * 5^6 . Acesta este un obiect al unei clase ce are grija de numere intregi. Aceasta clasa are metoda divisors, ce nu are nevoie de argumente, de aceea folosind aplicarea ei (aplicarea este acel "dot") pe numarul 2^40 * 3^6 * 5^6 obtinem lista divizorilor lui. Ca un serviciu pentru populatie, lista vine gata sortata, de aceea pentru a-i lua al 1996-lea element (in indexare umana), luam elementul de ordin pythonic 1996-1. Deoarece nu vrem sa tiparim ca raspuns o salata de cifre (adica 626206231756800000), aplicam pe numarul obtinut o alta metoda standard a clasei ce are grija de intregi in python, anume factor.


Cod mai pe-ndelete, care poate ne ajuta sa intelegem (ca nu mai e nimic de intzeles) din punct de vedere matematic:

sage: divizori = ( 2^40 * 3^6 * 5^6 ).divisors()
sage: print "Lista divizori are %d elemente." % len(divizori)
Lista divizori are 2009 elemente.
sage: nrcifre = len( str( 2^40 * 3^6 * 5^6 ) ); nrcifre
20

sage: for n in range( 1990, 2009 ):
....: print "d[%d] = %s = %*s" % \
....: ( n+1, divizori[n].factor(), int(nrcifre), divizori[n] )
....:

d[1991] = 2^35 * 3^6 * 5^6 = 391378894848000000
d[1992] = 2^39 * 3^5 * 5^5 = 417470821171200000
d[1993] = 2^40 * 3^3 * 5^6 = 463856467968000000
d[1994] = 2^40 * 3^6 * 5^4 = 500964985405440000
d[1995] = 2^37 * 3^5 * 5^6 = 521838526464000000
d[1996] = 2^38 * 3^6 * 5^5 = 626206231756800000
d[1997] = 2^39 * 3^4 * 5^6 = 695784701952000000
d[1998] = 2^36 * 3^6 * 5^6 = 782757789696000000
d[1999] = 2^40 * 3^5 * 5^5 = 834941642342400000
d[2000] = 2^38 * 3^5 * 5^6 = 1043677052928000000
d[2001] = 2^39 * 3^6 * 5^5 = 1252412463513600000
d[2002] = 2^40 * 3^4 * 5^6 = 1391569403904000000
d[2003] = 2^37 * 3^6 * 5^6 = 1565515579392000000
d[2004] = 2^39 * 3^5 * 5^6 = 2087354105856000000
d[2005] = 2^40 * 3^6 * 5^5 = 2504824927027200000
d[2006] = 2^38 * 3^6 * 5^6 = 3131031158784000000
d[2007] = 2^40 * 3^5 * 5^6 = 4174708211712000000
d[2008] = 2^39 * 3^6 * 5^6 = 6262062317568000000
d[2009] = 2^40 * 3^6 * 5^6 = 12524124635136000000

(Nu se observa nici un fel de regula "simpla" care sa ma duca direct la d[1996] pe considerente de indaratnicie a ingeniozitatii... Ce placere are un elev ce incearca sa rezolve aceasta problema si cum ar putea sa o redacteze aici sau undeva altundeva?)

P.S. O problema la fel de structurala:
(1) Cati divizori ai numarului 2^40 * 3^6 * 5^6 au toate cifrele diferite, daca sunt scrisi in baza zece.
(2) Cati dintre acesti divizori au cifrele diferite daca sunt scrisi intr-una (si in fiecare) dintre bazele 2, 8, 10, 16 ?

P.S.2. Cred ca trebuie sa ma apuc si eu sa propun probleme pe aceasta rubrica, poate ma intzelege lumea cu directia in care se duce matematica in zilele noaste. Numai putin, ca ma organizez repede. Pana nu propun ceva n-am voie sa ma plang de lipsa de structura, stiu...


---
df (gauss)
minimarinica
Grup: moderator
Mesaje: 1536
28 Nov 2009, 18:18

[Trimite mesaj privat]


Nu am folosit programare, in primul rand pentru ca nu ma pricep deloc.
Am zis asa:
Folosind formula pentru numarul de divizori ai lui
, am gasit
.
Apoi am observat ca

Am scris apoi primii 14 divizori in ordine crescatoare(ceea ce nu a fost greu avand in vedere scrierea lui
) si am calculat apoi pe
.
(
)


---
C.Telteu
petrebatranetu
Grup: moderator
Mesaje: 3161
29 Nov 2009, 10:11

[Trimite mesaj privat]


[Citat]
Nu am folosit programare, in primul rand pentru ca nu ma pricep deloc.
Am zis asa:
Folosind formula pentru numarul de divizori ai lui
, am gasit
.
Apoi am observat ca

Am scris apoi primii 14 divizori in ordine crescatoare(ceea ce nu a fost greu avand in vedere scrierea lui
) si am calculat apoi pe
.
(
)

Primii 14 divizori ai numarului sunt
Deci al 14-lea divizor este
. Al 1996-lea este
.
Domnule
...tot respectul...!


---
Doamne ajuta...
Petre
minimarinica
Grup: moderator
Mesaje: 1536
29 Nov 2009, 14:01

[Trimite mesaj privat]


[Citat]
[Citat]
Nu am folosit programare, in primul rand pentru ca nu ma pricep deloc.
Am zis asa:
Folosind formula pentru numarul de divizori ai lui
, am gasit
.
Apoi am observat ca

Am scris apoi primii 14 divizori in ordine crescatoare(ceea ce nu a fost greu avand in vedere scrierea lui
) si am calculat apoi pe
.
(
)

Primii 14 divizori ai numarului sunt
Deci al 14-lea divizor este
. Al 1996-lea este
.
Domnule
...tot respectul...!

Eu am inceput cu 2...


---
C.Telteu
[1]


Legendă:  Access general  Conţine mesaje necitite  47504 membri, 58510 mesaje.
© 2007, 2008, 2009, 2010 Pro-Didactica.ρ