--- Python 3.8.3 ---
n = int(input('n: \n'))
counter = 0
for coin1 in range(0, n+ 1):
for coin2 in range(0, (n // 2) + 1):
for coin5 in range(0, (n // 5) + 1):
for coin10 in range(0, (n // 10) + 1):
if coin1 * 1 + coin2 * 2 + coin5 * 5 + coin10 * 10 == n: counter += 1
print(counter)
для n в пределах 100-200 считает вроде правильно, и достаточно быстро. Что до больших значений n, мне не хватило терпения. Ненормально это, успеть попить чаю в ожидании конца работы программы в 8 строк.
При желании можно использовать как стресс-тест ЦПУ
Для табулирования любой функции на любом отрезке с любым шагом и любой точностью. При всевозможных значениях "косметика" (которой в предыдущем ответе вообще нет) не нарушается.
procedure Tabulate(a,b,h:real; f:real->real; k:byte:=2; sp:byte:=3);beginvar w := Seq(a, a+Trunc((b-a)/h)*h).Max(x->x.ToString.Length)+k+1;Writeln(' x'.PadLeft(w), ' '*sp, 'y');repeat Writeln(a:w:k, ' '*sp, f(a):0:k); a+=h until a>bend; beginvar a := ReadInteger('Введите a:');Tabulate(1, 10, 1, x->Cos(x+a))end.Пример работы: