#4838
Lui Fibo îi plac numerele care nu se potrivesc perfect. Recent, acesta a descoperit niște numere mai speciale: el numește un număr x ca fiind antidivizorul unui număr natural nenul k, dacă x este cel mai mic număr natural nenul care nu-l divide pe k. Fie F(k) = x, unde x este antidivizorul lui k. Să se calculeze F(1) + F(2) + ... + F(N) pentru T valori ale lui N.
ONI 2025, clasa a 9-a
| Problema | antidivizor | Operații I/O |
antidivizor.in/antidivizor.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 512 MB
/
Stivă 128 MB
|
| Id soluție | #59096188 | Utilizator | |
| Fișier | antidivizor.cpp | Dimensiune | 1.16 KB |
| Data încărcării | 17 Septembrie 2025, 13:52 | Scor/rezultat | Eroare de compilare |
antidivizor.cpp:5:14: error: expected type-specifier before '__uint128_t' using u128 = __uint128_t; // pentru a evita overflow la lcm ^ antidivizor.cpp: In function 'int64 safe_lcm(int64, int64, int64)': antidivizor.cpp:9:5: error: 'u128' was not declared in this scope u128 g = std::gcd(a, b); ^ antidivizor.cpp:9:10: error: expected ';' before 'g' u128 g = std::gcd(a, b); ^ antidivizor.cpp:10:10: error: expected ';' before 'x' u128 x = (u128)a / g * b; ^ antidivizor.cpp:11:9: error: 'x' was not declared in this scope if (x > (u128)limit) return limit + 1; // limităm, nu mai avem nevoie ^ antidivizor.cpp:11:19: error: expected ')' before 'limit' if (x > (u128)limit) return limit + 1; // limităm, nu mai avem nevoie ^ antidivizor.cpp:12:19: error: 'x' was not declared in this scope return (int64)x; ^ antidivizor.cpp:13:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema antidivizor 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ă.