1. Să se testeze dacă mulţimea divizorilor pozitivi ai unui număr
natural m dat (m ≥ 2 ) , cu operaţiile c.m.m.d.c. şi c.m.m.m.c. este o algebră booleană. 2. Să se descrie inelul boolean asociat algebrei booleene a divizorilor pozitivi ai unui număr natural m (m = 210 ) . 3. Să se verifice că un interval [a, b] = {x | a ≤ x ≤ b} într-o algebră booleană este o algebră booleană. 4. Să se compare două mulţimi relativ la incluziune. 5. Să se testeze dacă o familie de submulţimi a unei mulţimi finite este total ordonată prin incluziune. 6. Să se genereze toate submulţimile total ordonate ale unei familii de submulţimi a unei mulţimi date X. 7. Fiind date o mulţime X şi o familie F de submulţimi ale sale, să se elaboreze un program pentru a construi idealul generat de familia F în laticea P ( X ) . 8. Să se genereze topologiile ce se pot defini pe o mulţime formată din 5 elemente. 9. Să se genereze permutările mulţimii {1,2,..., n} . 10. Să se genereze combinările de n elemente luate câte k. 11. Să se genereze aranjamentele de n elemente luate câte k. 12. Ştiind că grupul simetric S n este generat de permutările a = (1 2 ) şi b = (1 2 ... n ) , să se genereze orice altă permutare de n elemente pe baza acestui rezultat. 13. Determinaţi toate perechile de submulţimi A ⊆ B ale unei mulţimi M şi verificaţi că numărul acestora este 3n , unde n = card ( M ) . 14. Generarea permutărilor cu repetiţie. 15. Generarea partiţiilor unei mulţimi finite date. 16. Să se listeze elementele idealului principal generat de Y, o submulţime nevidă a unei mulţimi date X, în laticea P ( X ) . 17. Să se listeze permutările conjugate cu o permutare dată. 18. Ştiind că două permutări sunt conjugate dacă şi numai dacă ele definesc aceeaşi partiţie a lui N (au acelaşi număr de cicluri şi ciclurile corespunzătoare au aceeaşi lungime), să se rezolve problema anterioară. 19. Să se testeze ipoteza lui Goldbach pentru toate numerele naturale m, cu proprietatea 4≤m≤n (Orice număr par m ≥4 se poate scrie ca sumă de două numere prime). Bazele Informaticii - Elena Liliana Popescu 196
20. Să se descompună în factori primi un număr natural n dat.
21. Să se găsească soluţiile întregi ale unei ecuaţii polinomiale date cu coeficienţi întregi. 22. Să se calculeze numărul divizorilor pozitivi ai unui număr natural n > 1 dat şi suma divizorilor pozitivi, după formulele: k k a +1 pi i τ(n) = ∏ (ai + 1) , σ(n ) = ∏ . i =1 i =1 pi − 1 23. Să se genereze numerele automorfice mai mici sau egale cu un număr n dat (un număr N este automorfic dacă cifrele sale apar în aceeaşi ordine pe ultimele m poziţii ale numărului N 2 , unde m este numărul de ( ) ( ) cifre ale lui N sau altfel N 2 − N ≡ 0 mod 10 m ; exemplu: 25 2 = 625 ). 24. Să se genereze numerele automorfice mai mici sau egale cu un număr n dat, utilizând relaţia ( N , N − 1) = 1 , în definiţia numărului automorfic. 25. Generarea numerelor palindroame (un palindrom este un număr care coincide cu numărul format din cifrele numărului respectiv, scrise în ordine inversă; de exemplu, 34643). 26. Generarea numerelor naturale n de două cifre în baza 10 pentru m care n (m > 1) este palindrom, m fiind dat. 27. Generarea numerelor naturale n de două cifre pentru care modulul diferenţei dintre număr şi răsturnatul său este pătrat perfect (răsturnatul numărului 27 este 72). 28. Să se determine toate numerele întregi I, J, L, M ce verifică ( )2 relaţiile: I 3 − J 3 = I 2 + J 2 , I ≤ N , J ≤ N , L ≤ N , M ≤ N , unde N este dat. 29. Să se determine toate numerele întregi I, J, L, M ce verifică ( relaţia I 2 + J 2 = L2 − M 2 .) 3
30. Să se listeze numărul M = 12 ... n , obţinut prin alăturarea tuturor
numerelor de la 1 la n şi să se calculeze numărul cifrelor sale. 31. Să se listeze numărul M = n ! = 1 ⋅ 2 ⋅ ... ⋅ n şi să se calculeze numărul cifrelor sale, pentru un M ce nu poate fi reprezentat în memorie. 32. Să se determine descompunerea numărului natural n dat ca sumă de numere naturale şi să se listeze numerele naturale formate prin alăturarea în toate modurile posibile a numerelor naturale din fiecare descompunere găsită. Bazele Informaticii - Elena Liliana Popescu 197
33. Să se rezolve în numere întregi ecuaţia x 2 − y 2 = k , unde k este
un număr natural dat. 34. Fie a, b, c trei numere naturale prime două câte două. Să se listeze o soluţie a ecuaţiei x a + y b = z c , în mulţimea numerelor naturale. 35. Să se rezolve în numere întregi inecuaţia x 2 − y 2 ≤ k , unde k este un număr natural dat. 36. Să se determine o soluţie a ecuaţiei lui Pell: x − My 2 = ±1 , x ≥ 0 , y ≥ 1 unde M este un număr natural liber de pătrate. 2
37. Să se listeze 10 soluţii în numere raţionale ale ecuaţiei x y = y x .
38. Să se determine numerele perfecte şi perechile de numere prietene mai mici decât un număr dat M, M > 2 . (Un număr perfect este un număr natural ce coincide cu suma divizorilor săi pozitivi proprii, la care se adaugă 1; Două numere se numesc prietene dacă fiecare din ele este egal cu suma divizorilor pozitivi proprii ai celuilalt, la care se adaugă 1) 39. Să se listeze primele 500 de numere prime, şi de asemenea, perechile de numere prime gemene, dintre acestea. (Două numere prime se numesc gemene dacă diferenţa dintre ele este egală cu 2) 40. Să se genereze divizorii liberi de pătrate ai unui număr natural n dat. (Un număr natural se numeşte liber de pătrate dacă în descompunerea sa în factori primi, toţi factorii primi apar la puterea întâi 41. Să se verifice teorema lui Cebâşev pentru un număr natural n dat (între n şi 2n există cel puţin un număr prim). 42. Să se listeze 7 numere perfecte, cunoscând primele 12 numere prime (dacă M k = 2 k − 1 este prim, pentru k prim, atunci Pk = 2 k −1 ⋅ M k este perfect; orice număr perfect par este de această formă). 43. Să se determine cel mai mic număr natural M ce se poate scrie sub forma M = K 1N + L1N = K 2N + LN 2 , unde perechile (K 1 , L1 ) şi (K 2 , L2 ) sunt distincte (N dat). Exemplu: Dacă N = 3 , numărul căutat M este 1729 şi 1729 = 9 3 + 10 3 = 13 + 12 3 . 44. Să se determine cel mai mic număr natural M ce se poate scrie sub forma M = J 1N + K 1N + L1N = J 2N + K 2N + LN 2 , unde perechile (J 1, K1, L1 ) şi (J 2 , K 2 , L2 ) sunt triplete distincte (N dat). Observaţie. Dacă N = 3 , se poate folosi faptul că M ≡ 0, ± 1, ± 2 ( mod 9 ) . 45. Să se testeze dacă orice număr natural M, 17 ≤ M ≤ N , N dat, este suma a trei numere prime diferite. Bazele Informaticii - Elena Liliana Popescu 198
46. Să se determine numerele naturale de 6 cifre ce conţin o dată
cifra 1, de două ori cifra 2, de 3 ori cifra 3. Să se listeze şi numărul lor. 47. Să se determine numerele naturale de 6 cifre în baza 10 pentru care suma cifrelor este egală cu 18 (eventual şi în cazul a1 ≤ a2 ≤ ... ≤ a6 ). 48. Să se genereze a) numerele cu cel mult 3 cifre, în baza 10, ce nu conţin cifra 6; b) numerele cu cel mult 6 cifre ce nu conţin cifrele 1, 2, şi 3. 49. Fiind dat un şir a1 , a2 ,..., an de valori întregi sau caractere, să se înregistreze într-un şir în ordinea următoare: a j +1 ,..., an , a1 ,..., a j . 50. Să se listeze un tablou bidimensional T(M, N) dat, în urma unor operaţii efectuate asupra acestuia: a) permutări circulare asupra elementelor secvenţei formate din elementele T[1,j],j=1,n, T[n,k],k=1,m de pe prima linie (in ordinea crescătoare a indicelui coloana, ultima coloana, ultima linie, prima coloana -schimbări efectuate între linii, coloane ş.a.m.d.
51. Să se listeze sub forma unui şir după diferite reguli de
a11 a12 ... a1n a21 a22 ... a2 n parcurgere a tabloului: ... ... ... ... am1 am 2 ... amn a) pe linii; b) pe coloane; c) paralel cu a doua diagonală; d) în spirală. 52. Să se listeze numerele 1, 2, ..., 120 sub forma: 1 1 2 2 3 a) 3 b) 4 5 6 ... ... ... ... ... ... 120 105 106 107 L 120 53. a) Să se testeze dacă orice număr par p mai mic sau egal decât n (n dat) este o diferenţă de două numere prime. b) Să se testeze dacă orice număr par mai mic sau egal ca 30 este o diferenţă de două numere prime consecutive. 54. Să se scrie proceduri Pascal pentru suma, diferenţa, produsul, împărţirea, ridicarea la putere, pentru numere mari (ce nu pot fi memorate ca valoare ). 55. Să se verifice afirmaţia: „ M | N ⇔ suma cifrelor reprezentării lui N în baza M + 1 este un număr care se divide la M.” 56. Fie n reprezentat într-o bază k ≥ 2 (n şi k date). Să se calculeze: numărul de zerouri ce apar în reprezentarea tuturor numerelor întregi Bazele Informaticii - Elena Liliana Popescu 199
cuprinse între 1 şi n şi de câte ori apare cifra M în reprezentarea numerelor
întregi cuprinse între 1 şi n. 57. Fie date M, N reprezentate într-o bază k dată, 2 ≤ k ≤ 10 . Să se calculeze M + N , M ⋅ N , M N în baza k. 58. Să se listeze tablele adunării şi înmulţirii într-un sistem de numeraţie într-o bază k dată. 59. Să se calculeze câte numere de cel mult M cifre, într-o bază k ≥ 2 dată, conţin o cifră L, dată. 60. Scrieţi o funcţie Pascal prin care să se calculeze norma unei matrici de numere reale A ∈ M n,m ( R ) definită astfel : m n n m a) A 1 = max ∑ ai j ; b) A 2 = max ∑ ai j ; c) A 3= ∑ ∑ ai2j . 1≤ i≤ n 1≤ i ≤ m j =1 j =1 i =1 j =1 61. Să se scrie proceduri Pascal pentru operaţiile de adunare, înmulţire, împarţire a polinoamelor, pentru polinoame cu coeficienţi întregi. 62. Pentru un număr natural n reprezentat în baza k ≥ 2 , să se scrie o procedură care să afişeze reprezentarea numărului n într-o bază l ≥ 2 atunci când a) k , l ≤ 10 ; b) 2 < k , l ≤ 14 . 63. Fie reprezentarea unei fotografii alb negru printr-o matrice cu elemente 0 şi 1 (0 pentru alb şi 1 pentru negru), să se scrie o procedură prin care să se calculeze numărul obiectelor din fotografie, considerând că orice două elemente vecine egale cu 1, pe linie, pe coloană sau pe diagonală aparţin unui acelaşi obiect. 64. Să se scrie un program pentru a determina o soluţie în numere întregi pentru ecuaţia lui Pell: x2 – my2 = ± 1, x ≥ 0, y ≥ 1 unde m este un număr natural, liber de pătrate, dat (m nu este congruent cu 1 modulo 4). 65. Ştiind că data de 1 ianuarie 1800 cade într-o miercuri, să se scrie o procedură prin care, citindu-se o dată calendaristică (zi, lună, an), să se tipărească ziua din săptămână în care cade acestă dată.1800 şi 2200. 66. Cunoscând două date calendaristice (ziua, luna, anul), să se elaboreze un program care să tipărească ziua din săptămână în care cade una din aceste date, ştiind în ce zi a săptămânii cade cealaltă 67. Scrieţi o procedură pentru determinarea rangului unei matrici A(M,N), cu elemente reale. 68. Să se scrie o procedură pentru rezolvarea unui sistem de m ecuaţii liniare, în n necunoscute, cu coeficienţi reali, şi un program care să o apeleze. Scrieţi un program, prin care, pornind de la anul 2002 să se listeze toţi anii bisecţi din secolul 22 şi zilele din sătămână în care cade data de 29 februarie în anii respectivi. Bazele Informaticii - Elena Liliana Popescu 200
69. Scrieţi un program care să genereze un calendar pentru anul
2222. 70. Scrieţi o procedură care să afişeze numărul complex zn pentru un număr complex z. 71. Fiind dat un număr natural reprezentat în sistemul zecimal, să se scrie un program care să-l afişeze scris cu cifre romane. 72. Să se scrie o procedură prin care să se rezolve un sistem de n ecuaţii liniare în n necunoscute, dat, cu coeficienţi într-un corp K, prin metoda eliminării, a lui Gauss. Să se apeleze această procedură într-un program cu datele: a) n = 10 şi K = R; b) n = 3 şi K = Z5. 73. Să se scrie un program care folosind un meniu de start să: iniţializeze, modifice, ordoneze şi actualizeze o bază de date, păstrată într- un fişier de tip text, referitoare la datele unui colectiv, pentru salarizare lunară. (Se au în vedere: salarii de încadrare determinate pe baza unui coeficient calculabil în funcţie de 5 indici, 6 sporuri aplicabile la salariul de încadrare, două prime, salariul de bază (suma salariului lucrat şi a sporurilor), reţineri (CAS, şomaj, sănătate, impozit, avans, chirii, garanţii). Oricare date se pot modifica înainte de o dată calendaristică fixată lunar. Toate calculele se salvează pentru listare în fişiere text adecvate.