#4709
Fie o secvenţă de N valori binare reprezentând un număr natural scris în baza 2. De exemplu secvenţa de 4 biţi 1101 este reprezentarea binară a numărului natural 13. Cei N biţi sunt numerotaţi de la dreapta la stânga cu numere de la 0 la N-1. În continuare asupra secvenţei se vor efectua exact P operaţii. Fiecare operaţie este dată printr-un număr natural reprezentând indicele unui bit care se elimină din secvenţă. După fiecare din cele P operaţii de eliminare, trebuie să stabiliţi dacă secvenţa rămasă este sau nu reprezentarea binară a unui număr natural divizibil cu 3.
| Problema | binremove | Operații I/O |
binremove.in/binremove.out
|
|---|---|---|---|
| Limita timp | 0.3 secunde | Limita memorie |
Total: 16 MB
/
Stivă 8 MB
|
| Id soluție | #64999402 | Utilizator | |
| Fișier | binremove.c | Dimensiune | 914 B |
| Data încărcării | 09 Iulie 2026, 15:15 | Scor/rezultat | 10 puncte |
binremove.c: In function ‘main’: binremove.c:29:40: warning: suggest parentheses around ‘+’ inside ‘>>’ [-Wparentheses] 29 | int liber_dreapta = number >> k+1 << k; | ~^~ binremove.c:30:54: warning: suggest parentheses around ‘-’ inside ‘<<’ [-Wparentheses] 30 | int liber_stanga = number << sizeof(number)*8-k >> sizeof(number)*8-k; | ~~~~~~~~~~~~~~~~^~ binremove.c:30:76: warning: suggest parentheses around ‘-’ inside ‘>>’ [-Wparentheses] 30 | int liber_stanga = number << sizeof(number)*8-k >> sizeof(number)*8-k; | ~~~~~~~~~~~~~~~~^~ binremove.c:11:14: warning: unused variable ‘biti’ [-Wunused-variable] 11 | unsigned biti[n]; | ^~~~ binremove.c:9:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 9 | fscanf(fp, "%d", &n); | ^~~~~~~~~~~~~~~~~~~~ binremove.c:14:9: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 14 | fscanf(fp, "%d", &bit); | ^~~~~~~~~~~~~~~~~~~~~~ binremove.c:23:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 23 | fscanf(fp, "%d", &p); | ^~~~~~~~~~~~~~~~~~~~ binremove.c:27:9: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 27 | fscanf(fp, "%d", &k); | ^~~~~~~~~~~~~~~~~~~~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 0 | 0.003 secunde | OK. | 5 | 5 | ||
| 1 | 0.002 secunde | OK. | 5 | 5 | ||
| 2 | 0.002 secunde | Raspuns gresit. | 10 | 0 | ||
| 3 | 0.001 secunde | Raspuns gresit. | 10 | 0 | ||
| 4 | 0.001 secunde | Raspuns gresit. | 10 | 0 | ||
| 5 | 0.003 secunde | Raspuns gresit. | 10 | 0 | ||
| 6 | 0.005 secunde | Raspuns gresit. | 10 | 0 | ||
| 7 | 0.003 secunde | Raspuns gresit. | 10 | 0 | ||
| 8 | 0.004 secunde | Raspuns gresit. | 10 | 0 | ||
| 9 | 0.01 secunde | Raspuns gresit. | 10 | 0 | ||
| 10 | 0.004 secunde | Raspuns gresit. | 10 | 0 | ||
| Punctaj total | 10 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema binremove 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ă.