Пусть было сделано n обменных операций 1-го типа и k операций 2-го типа (по порядку как они шли в условии). Тогда количество золотых монет в результате изменится на величину -4n+5k=0 т.к. их общее количество не изменилось, а при каждой операции 1-го типа золотых уменьшается на 4, и 2-го типа количество золотых увеличивается на 5. На операции каждого типа количество медных монет увеличивается на 1, значит всего было сделано 45 операций, т.е. n+k=45. Отсюда n=45-k, -4(45-k)+5k=0, k=20, n=25. Аналогично, как с золотыми, количество серебряных изменится на величину 5n-8k=5*25-8*20=125-160=-35. Т.е. количество серебряных монет уменьшилось на 35.
Если шифр пятизначный, то зафиксировав на втором месте цифру 5, а на последнем - цифру 0, получаем общее количество кодов для составления шифра замка: 5*1*5*5*1= 125 (Пояснение. Имеем 5 цифр. На первое место можно поставить любую из имеющихся пяти цифр, т.е. 7,8,5,1 и 0. Второе место "занято" цифрой 5, т.е. всего один вариант. На третье и на четвёртое место можно поставить любую из имеющихся пяти цифр (см. рассуждение выше). На последнем месте - единственный вариант - цифра ноль). Осталось только перемножить полученные варианты и вывести результат)