Китайские счеты суаньпань разделены на две неравные части: в большом отделении нанизано по 5 косточек, в малом - по 2. самый правый ряд - единицы. Если хотим выставить, к примеру, "7", а это больше 5, но меньше 10, то откладываем в правом ряду единиц 1 кость в малом отделе (означает 5) и 2 кости в большом (7 минус 5 уже отложенных). Как отложить на таких счетах числа: 1) 25926 2) 83409 3) 37061 4) 74527 5) 74027 6) 24876
#include <iostream>
using namespace std;
int main()
{
int t, n;
cin >> t >> n;
int a[n];
for (int i = 0; i < n; ++i){
int mark;
cin >> mark;
a[i] = mark;
}
for (int i = -t; i <= t; ++i){
cout << i << ": ";
for (int j = 0; j < n; ++j)
if(a[j] == i)cout << j + 1 << " ";
cout << endl;
}
return 0;
}
Объяснение:
не знаю, что тут объяснять, вроде все просто.
P.s. Если , дайте , лучший ответ и жмякните на " ". Это мотивирует продолжать давать ответы.
человеку из комментариев за поправки.
uinput = input('трёхзначное натуральное число: ') # 123
numbers = [int(i) for i in uinput] # [1, 2, 3]
highest = max(numbers) # 3
lowest = min(numbers) # 1
numbers.pop(numbers.index(highest)) # [1, 2, 3] = [1, 2]
numbers.pop(numbers.index(lowest)) # [1, 2] = [2]
middle = numbers[0] # 2
# print(highest, lowest, middle) 3 1 2
num1 = str(highest) + str(middle) # '32'
if lowest == 0:
~~~~if middle == 0:
~~~~~~~~num2 = str(highest) + str(lowest)
~~~~else:
~~~~~~~~num2 = str(middle) + str(lowest)
else:
~~~~num2 = str(lowest) + str(middle) # '12'
print(num1 + ' - ' + num2 + ' = ' + str(int(num1) - int(num2))) # 32 - 12 = 20