Să se scrie o funcție care primește ca paramentru un număr natural n și returnează cea mai mare putere a lui 2 mai
mică sau egală cu n. Folosind această funcție să se descompună fiecare element al unui vector cu n ( maxim 100 )
elemente naturale strict pozitive. Ex. dacă un element are valoarea 7 el e scris ca 4+2+1 .
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
void putere(const int n, const int t = 1, const int suma = 1){
if(t * 2 < n && suma + t * 2 <= n)
putere(n, t * 2, suma + t * 2);
std::cout << t;
if(t != 1)
std::cout << '+';
}
int main(){
int n, *v;
std::cin >> n;
v = new int[n];
for(int i = 0; i < n; ++i)
std::cin >> v[i];
for(int i = 0; i < n; ++i){
putere(v[i]);
std::cout << '\n';
}
delete[] v;
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
8 ani în urmă
Informatică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă