#2144
diofantic
C++
Se dau numerele naturale nenule a
, b
, c
, n
, urmate de o secvența de n
numere naturale distincte ordonate crescător, notată cu s
. Scrieți în limbajul C++ definiția completă a subprogramului diofantic
care returnează numărul de perechi (x,y)
care verifică ecuația: a•x
2
+ b•y
2
= c
, unde x
și y
aparțin secvenței s
.
Admitere FMI Bucuresti - 2015
Problema | diofantic | Operații I/O |
diofantic.in /diofantic.out
|
---|---|---|---|
Limita timp | 0.01 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #51955287 | Utilizator | |
Fișier | diofantic.cpp | Dimensiune | 630 B |
Data încărcării | 12 Septembrie 2024, 10:51 | Scor / rezultat | Eroare de compilare |
diofantic.cpp: In function 'bool bs(unsigned int, short unsigned int*, short unsigned int)': diofantic.cpp:14:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (v[m] * v[m] == x) ^ diofantic.cpp:16:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if (v[m] * v[m] > x) r = m - 1; ^ diofantic.cpp:17:32: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if (v[m] * v[m] < x) l = m + 1; ^ diofantic.cpp: In function 'int diofantic(int, int*, int, int, int)': diofantic.cpp:28:30: error: cannot convert 'int*' to 'short unsigned int*' for argument '2' to 'bool bs(unsigned int, short unsigned int*, short unsigned int)' cnt += bs(x, s, n); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema diofantic face parte din a doua categorie. Pentru aceste probleme se folosește un program suport, furnizat de propunătorul problemei. 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ă.