#2229
Ionel are de rezolvat mai multe probleme de divizibilitate. Unele dintre ele îi cer să afle câte numere au anumite proprietăţi. Vă rugăm să-l ajutaţi să termine tema mai repede. Scrieţi un program care citeşte un număr natural n şi două numere prime u şi v mai mici decât 10 şi determină câte numere naturale mai mici sau egale cu n au proprietatea că nu sunt divizibile nici cu u, nici cu v.
Olimpiada Municipala de Informatica, Iasi, 2008
| Problema | numere20 | Operații I/O |
numere20.in/numere20.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #63624264 | Utilizator | |
| Fișier | numere20.cpp | Dimensiune | 2.06 KB |
| Data încărcării | 11 Martie 2026, 17:49 | Scor/rezultat | Eroare de compilare |
numere20.cpp: In function 'std::vector<int> to_vector(std::string&)': numere20.cpp:10:17: error: 'std::string' has no member named 'lenght' for(int i=s.lenght()-1 ; i>=0 ;i--) ^ numere20.cpp: In function 'std::vector<int> impartire_mare_mic(std::vector<int>&, int)': numere20.cpp:31:32: error: no match for call to '(std::vector<int>) (<unresolved overloaded function type>)' reverse(rez.begin(),rez(end)); ^ numere20.cpp: In function 'std::vector<int> adunare_mare_mare(std::vector<int>&, std::vector<int>&)': numere20.cpp:45:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(i<x.size()) sum+=x[i]; ^ numere20.cpp:46:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(i<y.size()) sum+=y[i]; ^ numere20.cpp: In function 'std::vector<int> scadere_mare_mare(std::vector<int>&, std::vector<int>&)': numere20.cpp:58:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0;i<x.size();i++) ^ numere20.cpp:61:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(i<y.size()) diff-=y[i]; ^ numere20.cpp:68:9: error: expected primary-expression before ')' token ) ^ numere20.cpp:68:9: error: expected ';' before ')' token numere20.cpp: In function 'int main()': numere20.cpp:89:48: error: no match for 'operator*' (operand types are 'std::vector<int>' and 'int') vector<int> div_uv = impartire_mare_mic(n,n*v); ^ numere20.cpp:89:48: note: candidates are: In file included from /usr/include/c++/4.8/ccomplex:38:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from numere20.cpp:1: /usr/include/c++/4.8/complex:384:5: note: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const std::complex<_Tp>&) operator*(const complex<_Tp>& __x, const complex<_Tp>& __y) ^ /usr/include/c++/4.8/complex:384:5: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: 'std::vector<int>' is not derived from 'const std::complex<_Tp>' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/c++/4.8/ccomplex:38:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from numere20.cpp:1: /usr/include/c++/4.8/complex:393:5: note: template<class _Tp> std::complex<_Tp> std::operator*(const std::complex<_Tp>&, const _Tp&) operator*(const complex<_Tp>& __x, const _Tp& __y) ^ /usr/include/c++/4.8/complex:393:5: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: 'std::vector<int>' is not derived from 'const std::complex<_Tp>' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/c++/4.8/ccomplex:38:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:52, from numere20.cpp:1: /usr/include/c++/4.8/complex:402:5: note: template<class _Tp> std::complex<_Tp> std::operator*(const _Tp&, const std::complex<_Tp>&) operator*(const _Tp& __x, const complex<_Tp>& __y) ^ /usr/include/c++/4.8/complex:402:5: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: mismatched types 'const std::complex<_Tp>' and 'int' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/c++/4.8/valarray:587:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94, from numere20.cpp:1: /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template<class _Dom1, class _Dom2> std::_Expr<std::_BinClos<std::__multiplies, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__multiplies, typename _Dom1::value_type>::result_type> std::operator*(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::_Expr<_Dom2, typename _Dom2::value_type>&) _DEFINE_EXPR_BINARY_OPERATOR(*, __multiplies) ^ /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: 'std::vector<int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/c++/4.8/valarray:587:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94, from numere20.cpp:1: /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template<class _Dom> std::_Expr<std::_BinClos<std::__multiplies, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__multiplies, typename _Dom1::value_type>::result_type> std::operator*(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&) _DEFINE_EXPR_BINARY_OPERATOR(*, __multiplies) ^ /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: 'std::vector<int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/c++/4.8/valarray:587:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94, from numere20.cpp:1: /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template<class _Dom> std::_Expr<std::_BinClos<std::__multiplies, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__multiplies, typename _Dom1::value_type>::result_type> std::operator*(const typename _Dom::value_type&, const std::_Expr<_Dom1, typename _Dom1::value_type>&) _DEFINE_EXPR_BINARY_OPERATOR(*, __multiplies) ^ /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/c++/4.8/valarray:587:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94, from numere20.cpp:1: /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template<class _Dom> std::_Expr<std::_BinClos<std::__multiplies, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename std::__fun<std::__multiplies, typename _Dom1::value_type>::result_type> std::operator*(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::valarray<typename _Dom::value_type>&) _DEFINE_EXPR_BINARY_OPERATOR(*, __multiplies) ^ /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: 'std::vector<int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/c++/4.8/valarray:587:0, from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94, from numere20.cpp:1: /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template<class _Dom> std::_Expr<std::_BinClos<std::__multiplies, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__multiplies, typename _Dom1::value_type>::result_type> std::operator*(const std::valarray<typename _Dom::value_type>&, const std::_Expr<_Dom1, typename _Dom1::value_type>&) _DEFINE_EXPR_BINARY_OPERATOR(*, __multiplies) ^ /usr/include/c++/4.8/bits/valarray_after.h:404:5: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: 'std::vector<int>' is not derived from 'const std::valarray<typename _Dom::value_type>' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94:0, from numere20.cpp:1: /usr/include/c++/4.8/valarray:1169:1: note: template<class _Tp> std::_Expr<std::_BinClos<std::__multiplies, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__multiplies, _Tp>::result_type> std::operator*(const std::valarray<_Tp>&, const std::valarray<_Tp>&) _DEFINE_BINARY_OPERATOR(*, __multiplies) ^ /usr/include/c++/4.8/valarray:1169:1: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: 'std::vector<int>' is not derived from 'const std::valarray<_Tp>' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94:0, from numere20.cpp:1: /usr/include/c++/4.8/valarray:1169:1: note: template<class _Tp> std::_Expr<std::_BinClos<std::__multiplies, std::_ValArray, std::_Constant, _Tp, _Tp>, typename std::__fun<std::__multiplies, _Tp>::result_type> std::operator*(const std::valarray<_Tp>&, const _Tp&) _DEFINE_BINARY_OPERATOR(*, __multiplies) ^ /usr/include/c++/4.8/valarray:1169:1: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: 'std::vector<int>' is not derived from 'const std::valarray<_Tp>' vector<int> div_uv = impartire_mare_mic(n,n*v); ^ In file included from /usr/include/i386-linux-gnu/c++/4.8/bits/stdc++.h:94:0, from numere20.cpp:1: /usr/include/c++/4.8/valarray:1169:1: note: template<class _Tp> std::_Expr<std::_BinClos<std::__multiplies, std::_Constant, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__multiplies, _Tp>::result_type> std::operator*(const _Tp&, const std::valarray<_Tp>&) _DEFINE_BINARY_OPERATOR(*, __multiplies) ^ /usr/include/c++/4.8/valarray:1169:1: note: template argument deduction/substitution failed: numere20.cpp:89:49: note: mismatched types 'const std::valarray<_Tp>' and 'int' vector<int> div_uv = impartire_mare_mic(n,n*v); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema numere20 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ă.