#4139
triprime
Un număr se numește triprim dacă este produsul a trei numere prime distincte. Exemple de numere triprime: 30 = 2 × 3 × 5
, 42 = 2 × 3 × 7
, 231 = 3 × 7 × 11
. Date fiind numerele A
și B
, să se afișeze numărul de numere triprime din intervalul [A, B]
(inclusiv A
și B
).
ONI 2022, baraj juniori
Problema | triprime | Operații I/O |
triprime.in /triprime.out
|
---|---|---|---|
Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #36700582 | Utilizator | |
Fișier | triprime.c | Dimensiune | 9.84 KB |
Data încărcării | 17 Mai 2022, 16:31 | Scor / rezultat | Eroare de compilare |
triprime.c:5:1: error: unknown type name 'bool' bool isPrime(const int &n) {if(n % 2 == 0 && n != 2) return false;for (int i = 3; i * i <= n; i += 2) {if (n % i == 0) {return false;}}return true;} ^ triprime.c:5:24: error: expected ';', ',' or ')' before '&' token bool isPrime(const int &n) {if(n % 2 == 0 && n != 2) return false;for (int i = 3; i * i <= n; i += 2) {if (n % i == 0) {return false;}}return true;} ^ triprime.c: In function 'init': triprime.c:7:14: error: 'for' loop initial declarations are only allowed in C99 mode void init() {for (int i = 2; i <= 14000; i++) {if (isPrime(i)) {v[L++]=i;}}} ^ triprime.c:7:14: note: use option -std=c99 or -std=gnu99 to compile your code triprime.c:7:1: warning: implicit declaration of function 'isPrime' [-Wimplicit-function-declaration] void init() {for (int i = 2; i <= 14000; i++) {if (isPrime(i)) {v[L++]=i;}}} ^ triprime.c: At top level: triprime.c:8:1: error: unknown type name 'bool' bool isTriPrime(int n) {int cnt = 0;for (int i = 0; i < L && v[i] * v[i] <= n && cnt <= 2; i++) {if (n % v[i] == 0) {n /= v[i];if (n % v[i] == 0) {return false;}cnt++;}}if (n > 1 && cnt == 2 && isPrime(n)) {cnt++;n = 1;}return (cnt == 3 && n == 1);} ^ triprime.c: In function 'isTriPrime': triprime.c:8:37: error: 'for' loop initial declarations are only allowed in C99 mode bool isTriPrime(int n) {int cnt = 0;for (int i = 0; i < L && v[i] * v[i] <= n && cnt <= 2; i++) {if (n % v[i] == 0) {n /= v[i];if (n % v[i] == 0) {return false;}cnt++;}}if (n > 1 && cnt == 2 && isPrime(n)) {cnt++;n = 1;}return (cnt == 3 && n == 1);} ^ triprime.c:8:155: error: 'false' undeclared (first use in this function) bool isTriPrime(int n) {int cnt = 0;for (int i = 0; i < L && v[i] * v[i] <= n && cnt <= 2; i++) {if (n % v[i] == 0) {n /= v[i];if (n % v[i] == 0) {return false;}cnt++;}}if (n > 1 && cnt == 2 && isPrime(n)) {cnt++;n = 1;}return (cnt == 3 && n == 1);} ^ triprime.c:8:155: note: each undeclared identifier is reported only once for each function it appears in
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema triprime 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ă.