У вас есть число 137 если вам надо перевести его в какую-нибудь систему счисления, то нужно делить это число на номер системы, так если нужно перевести число 137 в ДВОичную ,то делим на 2 до тех пор, пока остатотк от деления не равен 1.(если в ТРОичную то на 3 и т.д.). начнём: 137 / 2 = 68 выписываем остаток (1) 68 / 2 = 34 выписываем остаток (0) 34 / 2 = 17 выписываем остаток (0) 17 / 2 = 8 выписываем остаток (1) 8 / 2 = 4 выписываем остаток (0) 4 / 2 = 2 выписываем остаток (0) 2 / 2 = 1 <== на этой единице заканчиваем деление, далее снизу вверх выписываем получившееся число : 001001; ответ: 001001
#include <iostream>
#include <vector>
using namespace std;
int data[20][20], x, y, minValue = -1;
void calc(int px, int py, int value){
value += data[px][py];
int temp = data[px][py];
if(px == x - 1 && py == y - 1) {
if(value < minValue || minValue == -1)
minValue = value;
return;
}
data[px][py] = -1;
if(px + 1 < x && data[px + 1][py] != -1) calc(px + 1, py, value);
if(py + 1 < y && data[px][py + 1] != -1) calc(px, py + 1, value);
data[px][py] = temp;
}
int main(){
cin >> x >> y;
for (int i = 0; i < x; ++i)
for (int j = 0; j < y; ++j)
cin >> data[i][j];
calc(0, 0, 0);
cout << minValue;
return 0;
}
Объяснение: