#2917
Catalan
Numerele lui Catalan formează un șir cunoscut în combinatorică. Termenul general al acestui șir este:
$$ C_n = C_{2n}^{n} – C_{2n}^{n+1} = \frac{1}{n+1}\cdot C_{2n}^{n} = \prod _{k=2}^{n} \frac{n+k}{k}, \text{pentru } n ≥ 0 $$
Se dă numărul natural n
. Să se determine și să se afișeze al n-lea
număr Catalan.
Problema | Catalan | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 1.4 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #54905275 | Utilizator | |
Fișier | catalan.cpp | Dimensiune | 6.24 KB |
Data încărcării | 11 Decembrie 2024, 20:06 | Scor / rezultat | 100 puncte |
catalan.cpp: In function 'std::string ddx(std::string, std::string)': catalan.cpp:127:25: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (s.find('.') != -1) ^ catalan.cpp:129:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (ss.find('.') != -1) ^ catalan.cpp:156:86: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (!mic(s, ss) || (rez.size() - 1 - rez.find('.') == 6 && rez.find('.') != -1)) ^ catalan.cpp:160:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (rez.find('.') != -1) { ^ catalan.cpp:163:74: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if (rez.size() - 1 - rez.find('.') < 6 && rez.find('.') != -1) { ^ catalan.cpp:177:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < s.size() && mic(temp, ss); i++) ^ catalan.cpp:182:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (; j < s.size(); j++) { ^ catalan.cpp:183:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (rez.find('.') != -1 && rez.size() - 1 - rez.find('.') == 6) { ^ catalan.cpp:201:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] while (mic(temp, ss) && j < s.size()) { ^ catalan.cpp:203:74: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (rez.size() - 1 - rez.find('-') == 6 && rez.find('.') != -1) { ^ catalan.cpp:112:49: warning: variable 'p1' set but not used [-Wunused-but-set-variable] int m = 2, ls = 0, lss = 0, o1 = 0, o2 = 0, p1 = 0, p2 = 0; ^ catalan.cpp:112:57: warning: variable 'p2' set but not used [-Wunused-but-set-variable] int m = 2, ls = 0, lss = 0, o1 = 0, o2 = 0, p1 = 0, p2 = 0; ^ catalan.cpp:189:9: warning: 'j' may be used uninitialized in this function [-Wmaybe-uninitialized] if (j == k) { ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 20 | 20 | Exemplu | |
2 | 0 secunde | OK. | 20 | 20 | ||
3 | 0.012 secunde | OK. | 20 | 20 | ||
4 | 0.328 secunde | OK. | 20 | 20 | ||
5 | 1.244 secunde | OK. | 20 | 20 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Catalan 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ă.