#702
Triunghiul lui Pascal este un aranjament geometric de numere ce poartă numele celebrului matematician francez Blaise Pascal (19 iunie 1623 – 19 august 1662), deoarece el a fost prima persoană care a descoperit importanţa tuturor modelelor din componenţa acestuia.
Triunghiul începe cu numărul 1. Acest rând este considerat rândul 0 al triunghiului. Restul numerelor din acest triunghi se formează ca suma celor două numere de deasupra (considerând că toate numerele din afara triunghiului sunt întotdeauna zero). Prin urmare, rândul 1 va fi format din 1 = 0 + 1, 1 = 1 + 0, iar rândul 2 va fi format din 1 = 0 + 1, 2 = 1 + 1, 1 = 1 + 0.
Fie n și p două numere naturale nenule cu proprietățile:
p este număr prim;n+1 este o putere naturală a lui p;Notăm cu M(p) numărul de multipli de p din primele n+1 rânduri ale triunghiului lui Pascal.
Să se scrie un program care citeşte numerele naturale n şi p și determină numărul M(p).
Lot Juniori, Baia Mare, 2013
| Problema | Pascal | Operații I/O |
pascal.in/pascal.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 16 MB
/
Stivă 16 MB
|
| Id soluție | #60308087 | Utilizator | |
| Fișier | pascal.cpp | Dimensiune | 2.16 KB |
| Data încărcării | 24 Octombrie 2025, 22:10 | Scor/rezultat | Eroare de compilare |
pascal.cpp: In member function 'void BigInt::multiply(int)': pascal.cpp:20:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < digits.size(); i++) { ^ pascal.cpp: In member function 'void BigInt::subtract(const BigInt&)': pascal.cpp:34:47: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < other.digits.size(); i++) { ^ pascal.cpp:43:59: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = other.digits.size(); i < digits.size() && carry; i++) { ^ pascal.cpp: In function 'int main()': pascal.cpp:6:17: error: 'std::vector<int> BigInt::digits' is private vector<int> digits; ^ pascal.cpp:88:25: error: within this context S.multiply(base.digits.back() + base.digits.size() > 1 ? 0 : 0); ^ pascal.cpp:6:17: error: 'std::vector<int> BigInt::digits' is private vector<int> digits; ^ pascal.cpp:88:46: error: within this context S.multiply(base.digits.back() + base.digits.size() > 1 ? 0 : 0); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Pascal face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.