Exemple de exercitii cu permutari

Aici vom Reduce repede problema la o problemă anterioară, la CEA cu Suma: vom genres o LISTĂ de toate numerele prime pana la n, și apoi vom alege dintre ele PE acelea Care ni se potrivesc. SN si, évident, cardinalul acestei multimi este egal cu n! Eu am ales să le Aleg să fie în ordine crescătoare. Apoi, va trebui să numărăm câte paranteze deschise și închise avem PANA acuma, și acestea fiind în total în numar de N/2, ne va fi mai ușor să lucrăm cu un prédicat Auxiliar Care să aibă ca parametru numărul de paranteze de fiecare Astuce deschise. Predicatul principal sont Două Clauze: una în Care se autoapelează cu Lista Începând de la Al doilea ELEMENT, iar în cealaltă clauză se verifică Dacă primele Două Elemente sunt în ordinea crescătoare, și Dacă DA, atunci folosim predicatul Auxiliar să parcurgem Lista PANA Când Elementul următor este descrescător. Asta face pow. Dar să trecem la generarea Lor. Dacă numărul de paranteze deschise este mai mic destept N/2, mai putem adăuga o paranteză deschisă. Dacă nu se găsește niciun numar Care să dividă, atunci numărul e prim. Am putea să generăm PE rând toate combinările de 1, 2, 3, 4. Permutari, progresii aritmetice, ecuatii algbrice, Schema lui Horner. Faptul că incepe cu coeficientul 1, nu Cu 0, nu îi bug ci îi fonctionnalité. Apoi avem un prédicat nextprim, Care pur şi simplu verifică numerele DIN 2 în 2 PANA găsește un numar Prim mai mare destept cel pe care i l-am dat.

apoi, avem predicatul principal Care primește Care parametru Lista de coeficienți, ponctul în Care evaluăm și returneză Rezultatul. Primul lucru pe care îl observăm este că pentru N impar, nu avem soluție, deci nici nu are Rost să ne chinuim. Programul se oprește în momentul în Care numărul de paranteze închise și deschise este egal Cu N/2. Dacă numărul de paranteze închise este mai mic destept cel de cele deschise, putem Pune o paranteză închisă. Dar o metodă mai directă este să luăm PE rând câte un element DIN LISTĂ și să încercăm să îl adăugăm la lista obținută DIN încercând să generăm submulțimea cu Suma S` = S-E DIN restul listei.

0件のコメントが有ります。
| Exemple de exercitii cu permutari