infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Alex Alex din Decembrie 06, 2015, 16:53:34



Titlul: PSEUDOCOD ajutor
Scris de: Alex Alex din Decembrie 06, 2015, 16:53:34
Am si eu cateva probleme pe care le-am avut la un test si nu am stiut sa le rezolv, dar as vrea sa va intreb pe voi daca ma puteti ajuta, va rog!?

1. Se citeste un numar natural n. Sa se afiseze numarul obtinut prin eliminarea cifrei din mijloc, daca n are un numar impar de cifre, respectiv a celor doua cifre din mijloc, daca n are un numar par de cifre.

2. Se citeste un numar natural n. Sa se afiseze toate numerele mai mici decat n care sunt egal cu suma patratelor cifrelor lor.


La prima problema chiar nu am nici o idee, iar la a doua problema am zis asa:

  n, t, s, x, y intreg
  t <- 0
    citeste n
      {cat timp t < n executa
        x <- t % 10
        y <- t / 10
        s = x * x + y * y 
          {daca s = t atunci
       }       scrie t
             altfel scrie "nu se pot afisa numerele care respecta proprietatea din enunt"
           }

am luat n - numarul natural care se citeste
t reprezinta toate numerele mai mici decat n
s - face suma patrelor cifrelor
x - indeparteaza ultima cifra
y - elimin ultima cifra

Va rog frumos sa imi ziceti daca e cat de cat ok ce am scris eu la a doua problema si daca poate cineva va rog sa imi explice problemele.
Va multumesc anticipat!



Titlul: Răspuns: PSEUDOCOD ajutor
Scris de: FMI Razvan Birisan din Decembrie 08, 2015, 19:05:39
La a doua problema, tu tratezi doar cazul în care n are două cifre, ceea ce nu e specificat în enunț. ( n ar putea avea 5 cifre).
În plus, cât timp t < n executa e bucla infinită pentru că t nu își modifică valoarea.