Белочки и орешки - 2
N белочек нашли K орешков и решили разделить их поровну. Определите, сколько орешков останется после того, как все белочки возьмут себе равное количество орешков.
Формат входных данных
На вход дается два целых положительных числа N и K, каждое из которых не превышает 10000.
Формат выходных данных
Выведите одно целое число - ответ на задачу.
Sample Input:
3
14
Sample Output:
2
ответ:я не уверена в ответах(давно не решала такие задачи)
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;
}