Limbajul Pascal. Metoda Backtracking. Permutari

Limbajul Pascal. Metoda Backtracking. Permutari

4 thoughts on “Limbajul Pascal. Metoda Backtracking. Permutari

  1. ma puteti ajuta si pe mine cu o problema
    . Se dau doua numere naturale m si m. Se cere sa se afiseze in toate modurile posibile toate numerele de la 1 la n, astfel incat intre orice doua numere afisate pe pozitii consecutive, diferenta in modul sa fie >=m. Daca nu exista solutie, se da mesaj.

  2. Ce face programul ?
    Ca in nici un caz nu functioneaza asa cum te-ai astepta citind titlul.

    De ce avem la procedura back parametrul P cand primul lucru pe care il face procedura la rulare e sa ii atribuie valoarea 1.
    Si ca sa mearga nu ar trebui sa fie recursiv ? Pentru ca nu cel ce a scris programul a uitat sa adauge partea de recursivitate are o gramada de ‘chestii’ inutile => programul insusi e inutil!

    • Exercitiul:
      Se consider? tabloul bidimensional cu n linii ?i n coloane ce con?ine numere naturale cu cel
      mult patru cifre fiecare. Scrie?i programul Pascal care cite?te de la tastatur? num?rul
      natural n (2?n?23) ?i cele n*n elemente ale tabloului ?i apoi afi?eaz? pe ecran elementele
      primului p?trat concentric, separate prin câte un spa?iu. P?tratul este parcurs în sensul
      acelor de ceasornic începând din col?ul s?u stânga-sus, ca în exemplu. Primul p?trat
      concentric este format din prima ?i ultima linie, prima ?i ultima coloan? a tabloului.
      Exemplu: pentru n=5 ?i tabloul
      1 2 3 4 5
      6 7 8 9 1
      2 3 4 5 6
      7 8 9 1 2
      3 4 5 6 7
      se va afi?a:
      1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6
      ____________________________________________
      Metoda de rezolvare:
      i:=1; for j:=1 to n do write(a[i,j]);
      j:=n; for i:=2 to n do write(a[i,j]);
      i:=n; for j:=n-1 to 1 do write(a[i,j]);
      j:=1; for i:=n-1 to 1 do write(a[i,j]);
      ____________________________________________
      INTREBARE: exista vreo functie predefinita pt. o rezolvare mai eficienta? Am vazut ca unele probleme cer parcurgerea elementelor unei matrici patratice cu un nr. oarecare de linii sub forma de spirala, adica, la exemplul de mai sus, sa se afiseze: 1 2 3 4 5 1 6 2 7 6 5 4 3 7 2 6 7 8 9 5 1 9 8 3 4
      …sunt abia a XI-a si nu stiu:D, de aia am intrebat

Leave a comment

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Time limit is exhausted. Please reload the CAPTCHA.