#2148
Pe Marte s-au descoperit N marțieni, identificați de către oamenii de știință de pe Pământ prin numerele de la 1 la N. Cercetările au dovedit că ADN-ul oricărui marțian X este format din mulțimea factorilor primi din descompunerea lui X.
Se știe că marțianul cu numărul de ordine Y îl moștenește pe marțianul cu numărul de ordine X dacă ADN(X) este inclus în ADN(Y), adică mulțimea factorilor primi ai lui X este inclusă în mulțimea factorilor primi ai lui Y.
Trebuie să specificăm că se pot întâlni situații extreme în care X îl moștenește pe Y dar și Y îl moștenește pe X, atunci când cei doi marțieni au ADN-urile egale.
Realizați un program care, considerând mulțimea celor N marțieni, determină numărul de perechi de marțieni (Y, X) pentru care Y îl moștenește pe X, unde 1 ≤ X ≤ N și 1 ≤ Y ≤ N.
ONIGIM 2017, Baraj juniori
| Problema | ADN | Operații I/O |
adn.in/adn.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 32 MB
/
Stivă 32 MB
|
| Id soluție | #63711911 | Utilizator | |
| Fișier | adn.cpp | Dimensiune | 502 B |
| Data încărcării | 16 Martie 2026, 12:04 | Scor/rezultat | Eroare de compilare |
adn.cpp:7:23: warning: missing terminating ' character [enabled by default] ofstream g("adn.out")' ^ adn.cpp:7:2: error: missing terminating ' character ofstream g("adn.out")' ^ adn.cpp: In function 'int main()': adn.cpp:6:2: error: 'ifstream' was not declared in this scope {ifstream f("adn.in"); ^ adn.cpp:6:2: note: suggested alternative: In file included from /usr/include/c++/4.8/ios:38:0, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from adn.cpp:1: /usr/include/c++/4.8/iosfwd:157:34: note: 'std::ifstream' typedef basic_ifstream<char> ifstream; ^ adn.cpp:6:11: error: expected ';' before 'f' {ifstream f("adn.in"); ^ adn.cpp:7:2: error: 'ofstream' was not declared in this scope ofstream g("adn.out")' ^ adn.cpp:7:2: note: suggested alternative: In file included from /usr/include/c++/4.8/ios:38:0, from /usr/include/c++/4.8/istream:38, from /usr/include/c++/4.8/fstream:38, from adn.cpp:1: /usr/include/c++/4.8/iosfwd:160:34: note: 'std::ofstream' typedef basic_ofstream<char> ofstream; ^ adn.cpp:7:11: error: expected ';' before 'g' ofstream g("adn.out")' ^ adn.cpp:12:7: error: expected '(' before 'v' if v[i]==1) for(j=1;j*i<=p;j++) v[i*j]=v[i*j]*i; ^ adn.cpp:12:25: error: 'j' was not declared in this scope if v[i]==1) for(j=1;j*i<=p;j++) v[i*j]=v[i*j]*i; ^ adn.cpp:12:27: error: 'i' was not declared in this scope if v[i]==1) for(j=1;j*i<=p;j++) v[i*j]=v[i*j]*i; ^ adn.cpp:12:30: error: 'p' was not declared in this scope if v[i]==1) for(j=1;j*i<=p;j++) v[i*j]=v[i*j]*i; ^ adn.cpp:12:35: error: expected ';' before ')' token if v[i]==1) for(j=1;j*i<=p;j++) v[i*j]=v[i*j]*i; ^ adn.cpp:16:2: error: 'g' was not declared in this scope g<<k; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema ADN 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ă.