Сколько существует десятичных чисел, которые делятся
Решение. Для того. чтобы число делилось
Рассмотрим случай, когда число оканчивается
Рассмотрим случай, когда число оканчивается
Составим программу.
Приведём решение на языке Python.
nol=[1]
pat=[1,8]
for i in range(1,10):
nol.append(nol[i-1]*(10-i))
for i in range(2,10):
pat.append(pat[i-1]*(10-i))
print(sum(pat)+sum(nol))
Ответ: 1863219.
Приведём решение Максима Фатихова на языке Python.
from itertools import permutations
word = '0123456789'
c = 0
for j in range(1,11):
for i in permutations(word,j):
x = ''.join(i)
if x[0] != '0' and (x[-1] == '5' or x[-1] == '0'):
c += 1
print(c + 1) #+1 случай когда число равно 0
Приведём решение Юрия Красильникова на языке Python.
from math import perm # число размещений
print(2*sum(perm(9,k) for k in range(10)) - sum(perm(8,k) for k in range(9)))
Приведём решение Сергея Донец на языке PascalABC.NET.
begin
var sm:=1;//добавляем число 0 (1-значное, делится на 5)
for var i:=1 to 10 do
sm+='0123456789'.Permutations(i) // i-значные числа
.Where(s->s[1] <> '0') // Первой цифрой не может быть 0
.Count(s->(s.Last='0')or(s.Last='5') );
sm.Print;{Ответ:1863219}
end.
PDF-версии: 