С ИНФОРМАТИКОЙ. Исполнитель Байт работает с беззнаковым 8-разрядным представлением целых чисел. Байт может исполнять команды, которым
присвоены номера: 1 — вычесть 1; 2 — сдвинуть влево (исполнитель сдвигает число на один двоичный разряд влево; значение освободившегося разряда справа обнуляется). Исполнитель начал вычисления с числа 104(10) и выполнил цепочку команд 22112. Какое десятичное число получилось в результате выполнения этого алгоритма? P.S Заполните еще те столбики
ответ:я не уверена в ответах(давно не решала такие задачи)
16
[29, 31]
[28, 30]
12
[21, 23]
[20, 22]
Объяснение:
def moves(heap):
a,b=heap
return[(a+1,b),(2*a,b),(a,b+1),(a,b*2)]
table={(k,s):0 for k in range(501)for s in range(501)}
for x in table:
if any(sum(t)>=69 for t in moves(x)):
table[x]=1
for x in table:
if table[x]==0 and all(table[t]==1 for t in moves(x)):
table[x]=2
for x in table:
if table[x]==0 and any(table[t]==2 for t in moves(x)):
table[x]=3
for x in table:
if table[x]==0 and all(table[t]==3 or table[t]==1 for t in moves(x)):
table[x]=4
print(min([s for s in range(1,118)if any(table[t]==1 for t in moves((5,s)))]))
print([s for s in range(1,118)if table[(5,s)]==3])
print([s for s in range(1,118)if table[(5,s)]==4])
def moves(heap):
a,b=heap
return[(a+1,b),(2*a,b),(a,b+1),(a,b*2)]
table={(k,s):0 for k in range(501)for s in range(501)}
for x in table:
if any(sum(t)>=53 for t in moves(x)):
table[x]=1
for x in table:
if table[x]==0 and all(table[t]==1 for t in moves(x)):
table[x]=2
for x in table:
if table[x]==0 and any(table[t]==2 for t in moves(x)):
table[x]=3
for x in table:
if table[x]==0 and all(table[t]==3 or table[t]==1 for t in moves(x)):
table[x]=4
print(min([s for s in range(1,118)if any(table[t]==1 for t in moves((5,s)))]))
print([s for s in range(1,118)if table[(5,s)]==3])
print([s for s in range(1,118)if table[(5,s)]==4])
Надеюсь сравнение так надо писать
Объяснение:
#include <bits/stdc++.h>
using namespace std;
long long n, m, a, b;
void squares(long long n, long long m){
while(n){
a += pow(n % 10, 2);
n /= 10;
}
while(m){
b += pow(m % 10, 2);
m /= 10;
}
cout << a << ' ' << b << '\n';
if (a > b){
cout << a << " > " << b;
}
else if (a < b){
cout << a << " < " << b;
}
else{
cout << a << " = " << b;
}
}
int main() {
cin >> n >> m;
squares(n, m);
return 0;
}