#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 | #26998858 | Utilizator | |
Fișier | diofantic.cpp | Dimensiune | 453 B |
Data încărcării | 03 Ianuarie 2021, 22:27 | Scor / rezultat | Eroare de compilare |
diofantic.cpp:11:12: error: conflicting declaration 'int f [65536]' int f[1<<16] = {0}; ^ diofantic.cpp:5:10: error: 'f' has a previous declaration as 'std::ifstream f' ifstream f("diofantic.in"); ^ diofantic.cpp: In function 'int diofantic(int, int*, int, int, int)': diofantic.cpp:18:4: error: no match for 'operator[]' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'int') f[s[i]]++; ^ diofantic.cpp:22:7: error: no match for 'operator[]' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'int') if(f[i] == 0) continue; ^ diofantic.cpp:29:12: error: no match for 'operator[]' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'int') rez += f[x]*f[y]; ^ diofantic.cpp:29:17: error: no match for 'operator[]' (operand types are 'std::ifstream {aka std::basic_ifstream<char>}' and 'int') rez += f[x]*f[y]; ^
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ă.