Problema

Am un numar format din 5 cifre distincte(ABCDE). Sa se gaseasca acest numar astfel incat patratul sumei cifrelor sale sa fie egal cu el((A+B+C+D+E)2=ABCDE).

Poate cineva sa rezolve folosind o masina Turing?😀

Update 1: Numarul nu exista! Felicitari, Stefan!
Update 2: Aceeasi problema pentru: (A+B+C+D+E)3=ABCDE
Update 3: Numarul este 19683 si a fost gasit de Mircea! Felicitari!
Update 4: Cine incearca o Masina Turing?

49 comentarii

  1. da

  2. posteaza rezolvarea🙂

  3. am maine examen la gc. daca vrei iti spun ideea

  4. spune

  5. ai abcde. calculezi radicalul si il stochezi pe o banda(asta e facut la seminar, deci il stii).
    apoi pe a doua banda pornessti cu abcde in configuratie initiala. 5 4 3 2 1.( vei simula un backtraking). si incepi sa incrementezi a(initial 5). faci suma si compari cu radicalul gasit de tine, stocat pe alta banda.daca e bun. se opreste, daca nu, incrementezi iar a..pana cand ori se opreste…..asa cred ca s-ar face…

  6. initial a va fi foarte mare, daca vrei , incrementezi si valorile de dupa el, pentru ca rezolvarea sa aibe a,b,c,d,e, „aproape egale”. in cazul acesta trebuie samai verifici ca valoarea incrementata sa nu fie egala cu alta cifra din suma(trebuiesc sa fie distincte).

    • „trebuiesc”? Daca inca mai cauti greseli la mine pe blog, uite una!😀

      • bine. am gresit. ms ca ma corectezi :*

    • nu inteleg partea cu „aproape egale”.

      • uita de asta..facea parte dintr-o alta idee😀

  7. daca o sa caut numere de la 54321 in sus incrementand prima cifra, inseamna ca voi mai gasi doar 64321, 74321, 84321, 94321 aici ma opresc si nu am gasit nimic. Alte opinii?😀

  8. o mica modificare…..facio backtraking, dar dar calculezi de fiecare data suma la patrat. si o compari cu abcde.😀 scz . nu am citit corect

  9. Cum fac backtraking cu masina Turing?

  10. pai mai ai…65321, 76321….

    • asa fac masina Turing sau astea sunt „aproape egale”? =))

  11. incrementezi cifrele si verifici. pt a te intoarce, retii in stari o configuratie anterioara.cand ai ajuns la capat restaurezi ce ai in stare(restaurezi configuratia, si incrementezi alta cifra). practic tu trebuie sa generezi numere . e destul de simplu

  12. bine, fa-l in java si zi-mi numarul😀

  13. ti-l fac dupa examen ; acum mai am teste nerezolvate la geometrie.vreau sa iau si eu 10 k tine….

  14. oricum , esti sigura ca un astfel de numar exista?

    • Eu zic sa iei toate numerele de la 0 la 99999 si sa le testezi pe fiecare in parte. Aduni cu 1 in baza 10, faci suma pe alta banda, faci patratul pe alta si vezi daca sunt egale.

      • iei toate numerele cu cifre distincte, si in ordine crescatoare. e mia optim.😛. metoda merge.:)

      • Ioan, nu cred ca poti sa stii dinainte care numar are toate cifrele distincte.
        Stefan, nu are rost sa verific numerele de la 0 pana la 9999 pt ca nu au 5 cifre.

      • asa este. deci e mai optim sa le generezi prin bkt😀

  15. toate numerele de la 12345 cu proprietatile de mai sus(trebuie sa aibe 5 cifre)

    • Iti reamintesc ca si „0” este o cifra.

      • si cum codifici 0 pe o masina Turing?

      • „0” e o cifra, asta inseamna ca am de codificat si numere ca 10234.

      • unde ai 0…..nu mai scrii 0 sau folosesti conventia din curs…adik pt kin baza 10 scrii k+1 de 1. atunci pt 0 ai scrie un 1. bine, punem si 0.

  16. ba nu. lasa doar distincte. nu este necesar sa fie crescatoare cifrele . suma da la fel dar la patrat va da altceva

  17. Ba, ce naiba, nu exista solutie pentru A si B mai mari ca 0.

    • am intrebat daca e sigura ca e posibil sa existe un numar cu proprietatile mentionarte. care a si b? parca era un singur numar.:-?

      • a,b sunt doua cifre

  18. Presupunem ca s-ar putea. ar insemna ca putem construi o masina turing care rezolva problema. cum suntem cu desavarsire incapabili sa construim o masina turing si daca pica subiectul ala cu completitudine nu scriem nimic nici la teorie, problema e nedecidabila

  19. pt (a+b+c+d+e)^3 = abcde sunt 2 solutii:

    17576
    19683

    • Te asigur ca este o solutie unica, nu doua.

  20. a scuze…tre sa fie distincte😛
    atunci primu cade si ramane doar
    19683

    • Super! Felicitari, Mircea!😀

  21. Mai Mircea, tu nu ai avut examen? adik ai avut timp de problema Adrianei?

  22. pai… a durat 1-2 minute sa o fac…😛 …

  23. bravo🙂

  24. adica… ce poate fi mai simplu de atat
    (trecand peste faptul ca imi scoate solutiile cu cifire nedistincte..care sunt 2 :P)

    #! /env/ruby
    
    i = 10000;
    while i <= 99999
    	v = i;
    	s = 0;
    	while v > 0
    		s += v % 10
    		v /= 10
    	end
    
    	if s * s * s == i
    		print i.to_s + "\n";
    	end
        i += 1;
    end
    
  25. pai nu am spus ca nu este simplu. dar pur si simplu sa intrerupi invatatul, treaba ta pt problema altcuiva……tin prea mult la timpul meu ca sa fac asta.

    • Ioan, problema am postat-o ca sa ne „distram” putin cu ea.

  26. pai tu inveti in continuu? nu ai si timp liber?

  27. la 2 noaptea, daca am timp liber, atunci este pentru dormit…..azi am avut examen.

    • Timpul pe care il petreci la mine pe blog se pune din invatat, nu?😀

      • comentatul p blog ia semnificativ mai putin timp decat scrierea unei rezolvari😀.

      • Asta pentru ca trebuie sa gandesti cand scrii o rezolvare, comparativ cu atunci cand vorbesti? Asta e principiul tau?😀

      • Acela este principiul spus de tine, nu este principiul meu. Am spus tot ce am avut de spus. Nu vad ce te streseaza…..


Comments RSS TrackBack Identifier URI

Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s