--- 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 строк.
При желании можно использовать как стресс-тест ЦПУ
Поделитесь своими знаниями, ответьте на вопрос:
Сколько раз выполнится тело цикла в каждом фрагменте программы? 1. for i : =1 to 7 do s : = s + i * i; 2. for x : = -3 to 5 do 5 do k : = k+abs(x); 3. for a : = 10 downo 2 do p : =p*a; 4. for i : = 2 to 6 do begin k: =k+1; s: =k+i; end; сколько раз выполнится тело цикла, и чему будут равны значения встречающихся в программе переменных после выполнения каждого фрагмента программы? 5. i : =2; s: =0; while s< 0 do begib s: = s+i; i: +2; end; 6. x: =1 ; s: =10 ; while x < =10 do x: =x*2 ; s: = s+x 7. a: =0; s: =0 ; while a> 0 do s : =s +a; a: =a+1; 8 . a: =1; repeat r : = 2*a; a: = a+1 ; until r < 1; 9. a: =1; b: =1; while a+b < 8 do begin a : =a+1; b : = b+2 end; s : = a+b; 10. s: =0; p: = 10; k: = 1; repeat s: = s+k*k; k : =k+2; until s > p; 11. for i : =2 to 6 do begin k: = k+1; s: = k+i; end; 12. for i: = 1 to 4 do s : =s+i*i; s: s*2;