Esiste un modo per utilizzare il codice 2^di alimentazione senza utilizzare l'operatore math.pow o di moltiplicazione. Finora,2^potenza senza l'uso di matematica.pagamento e moltiplicazione
Ho pensato di utilizzare 2 contatori e aggiunte, ma i miei programmi non sembrano funzionare. Ecco il mio lavoro fino ad ora.
int counter=0; // k
int userNumber=0; // p
int power=0;
int sum=0;
cout << "Enter a non-negative number: ";
cin >> userNumber;
while (userNumber > counter)
{
power +=2;
counter++;
power++;
}
sum = power - 1;
// post-condition: Sum = 2^p -1
cout << "The output is " << sum << endl;
return 0;
questo è un questione intervista? O compiti a casa? Il motivo per cui lo sto chiedendo, abbiamo esattamente quella domanda sul nostro colloquio di lavoro. C'è una risposta molto semplice basata su una funzione C++ relativamente oscura, ma se si suppone che tu debba indovinare da solo ... –
@SevaAlekseyev: Oserei dire che devi trovare altre domande intervistate più profonde. ;-) –
Sareste sorpresi dal numero di persone che ne sono afflitte. Inoltre, [ricorda il FizzBuzz] (http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html). –