Я пытаюсь вычислить мощность числа x ^ n, просто используя чистое сложение следующим образом: 2 ^ 4 = 2 + 2 + 2 + 2 + 2 + 2 + 2 + 2 = 16, поэтому я использую следующий код вычислить 2 ^ n:
add = x
for ( i = 1; i <= n-1; i++){
add = add + add;
}
cout<< x << "^" << n << " = " << add << endl;
так что если вы хотите рассчитать 3 ^ 4, вы должны поставить add = add + add + add
так что мой вопрос: как мне заставить его работать с любым номером, который хочет пользователь?
Для базы б к х <=> б ^ х
в C и со СТРОГО дополнением
int sum = b;
int add = b;
for (int i = 0; i < n+(-1); ++i) {
add = sum;
for (int j = 0; j < b+(-1); ++j) {
sum += add;
}
}
Вы можете проверить эту ссылку тоже. Это ответ на аналогичный вопрос
Рассчитать показатели только путем сложения
// first deal with pow = 1 or 0 cases not shown here
// pseudocode for pow >= 2
var = 0
for (i = 0; i < num^(pow - 2); i++) // ^ is raising to power, not xor
for (j = 0; j < num; j++)
var += num
Как вы можете видеть с проверкой состояния «i», вы должны использовать функцию мощности в любом случае, так что на самом деле это невозможно при чистом сложении.