Lista de probleme 184

Filtrare

#2910 BitSwap

Se dau numerele n și m. Interschimbați valorile lui n și m fără a folosi o variabilă auxiliară.

Se citește numărul n. Să se determine numărul de ordine al celui mai semnificativ bit.

Numim inserare a unui șir A într-un șir B introducerea, între două elemente ale șirului B, a tuturor elementelor lui A, pe poziții consecutive, în ordinea în care apar în A.

Se dau două șiruri cu n, respectiv m elemente numere întregi ordonate strict crescător, în care numerotarea elementelor începe de la 1.

Se cere să se afișeze poziția din al doilea șir începând de la care poate fi inserat primul șir, astfel încât șirul obținut să fie strict crescător. Dacă nu există o astfel de poziție, se afișează mesajul imposibil.

Numim secvență pară într-un șir o succesiune de termeni ai șirului cu proprietatea că sunt numere pare și că se află pe poziții consecutive în șir; orice secvență are cel puțin doi termeni și este maximală în raport cu proprietatea precizată (dacă i se adaugă un alt termen, secvența își pierde această proprietate). Lungimea secvenței este egală cu numărul termenilor săi.

Scrieți un program care citește un șir de cel mult 106 numere naturale din intervalul [0,109] și determină numărul de secvențe pare de lungime maximă din șir.

Dându-se un număr natural n, să se afle toate numerele obținute resetând succesiv cel mai nesemnificativ bit cu valoarea 1, fără a folosi variabile auxiliare.

Numim secvență neuniformă a unui șir de numere naturale un subșir al acestuia, format din termeni aflați pe poziții consecutive în șirul dat, cu proprietatea că oricare trei termeni aflați pe poziții consecutive sunt diferiți. Lungimea secvenței este egală cu numărul de termeni ai acesteia.

Se dă un șir de cel mult 106 numere naturale din intervalul [0,9], în care există cel puțin trei termeni diferiți pe poziții consecutive. Se cere să se afișeze lungimea maximă a unei secvențe neuniforme a șirului dat.

Determinați distanța dintre primul bit setat și ultimul bit setat al unui număr natural.

#2799 AddOne

Se citește un număr n. Să se calculeze n+1, folosind doar operatori pe biți.

Scrieți un program care citește un șir de cel mult 106 numere naturale din intervalul [0,109] ordonate crescător și determină cel mai mic număr din șir care apare de un număr impar de ori. Dacă în șir nu se află o astfel de valoare, se afișează mesajul nu exista.

Se dă un număr natural, n (n∈[2,5000]), și un șir de 2·n numere naturale din intervalul [0,5]. Se cere să se determine valoarea obținută însumând toate produsele de forma x·y, unde x și y sunt numere de paritate diferită, x fiind printre primii n termeni ai șirului dat, iar y printre ultimii n termeni ai acestui șir. Dacă nu există niciun astfel de produs, valoarea cerută este nulă.