Сначала банальный код - рабочий, но уже на больших числах будет переполнение переменной факториала.
var n, i, fact, ans : integer;
begin
read(n);
fact := 1;
for i := 2 to n do
fact := fact * i;
while (fact mod 10 = 0) do begin
ans := ans + 1;
fact := fact div 10;
end;
writeln(ans);
<span>end.
Теперь более "умный" код, в нём использован тот факт, что простое число p входит в разложение факториала числа N = [N/p] + [N/p^2] + [N/p^3] + ..., где [x] - целая часть числа x.
var n, i, fact, c, pow, ans : integer;
{c - сколько раз входит в разложение числа n! цифра 5}
begin
read(n);
pow := 5;
while (pow <= n) do begin
c += n div pow;
pow := pow * 5;
end;
writeln(c);
<span>end.</span></span>
Не вижу и малейшего отношения к программированию.
Что именно вы хотите видеть в программном коде ?
Ответ:
Алеша, Боря, Витя.
Алеша с кем-то идет к троллейбусу, когда подходит с ним к остановке появляется третий друг, который кричит из окна Боре (Значит Алена шел с Борей к троллейбусу). Исходя из этого Витя ездит на автобусе. Боря на троллейбусе (ибо он проводил друга до остановки, значит сам не поехал на троллейбусе, т.к. тогда было бы "вместе" шли или подобное), а значит троллейбус ему не нужен, а нужен трамвай.
Ответ:
Витя - автобус
Боря троллейбус
Алеша - трамвай.
Все. Что тут еще программировать, а ? это задача только на логику, а не на программирование..
В кодировке вин-1251 один символ весит 8 бит или 1 байт
Общий вес текста/сообщения
I = K * i (K - кол-во символов, i - вес одного символа/бит на символ)
K = 1536 шт
Вес текста I = 1536 * 8 бит = 12288.0 бит =
= 1536.0 байт = 1.5 Кбайт = 0.00146484375 Mбайт
1. догадаться что скрывается под многоточием. вероятно, полностью этот блок выглядит так:
(x1>x2)^(x1>y1)=1
(x2>x3)^(x2>y2)=1
(x3>x4)^(x3>y3)=1
(x4>x5)^(x4>y4)=1
(x5>x6)^(x5>y5)=1
(x6>x7)^(x6>y6)=1
(x7>y7)=1
2. понять что такое "наборы значений переменных". - это просто списки значений для иксов и игриков. значит, нам сначала придётся определить эти значения, а потом посчитать количество этих "наборов".
3. логические переменные - переменные, в которых минимальное значение 0, а максимальное 1.
4. значит, подставляя разные значения в иксы и игрики, мы должны найти нужный ответ.
5. предположительно, автор вопроса придумал количество иксов и игриков беря за основу количество битов в байте...
6. ответ (ноль) на данное задание можно получить 2 способами:
1 - не долгое логическое размышление
1. результат логического умножения может быть 1, только если все множители == 1
2. данный в условии блок может быть переструктурирован как:
(
((x1>x2)^(x1>y1))^
((x2>x3)^(x2>y2))^
((x3>x4)^(x3>y3))^
((x4>x5)^(x4>y4))^
((x5>x6)^(x5>y5))^
((x6>x7)^(x6>y6))^
(x7>y7)
) = 1
3. т.е. ни при каких наборах значений это логическое равенство не может быть верным, т.е. не может быть 1, т.е. не может соответствовать сразу всем перечисленным условиям
2 - эксперементальное: написать программу
пишу на Python, потому что паскаль уже давно забыл
count = 0
def bin_values(in_int):
ret = []
b = bin(in_int)[2:]
while len(b) != 7:
b = '0' + b
for i in b:
ret.append(bool(int(i)))
return ret
for xs in range(2**7):
x1, x2, x3, x4, x5, x6, x7 = bin_values(xs)
print(xs)
print(x1, x2, x3, x4, x5, x6, x7)
for ys in range(2**7):
y1, y2, y3, y4, y5, y6, y7 = bin_values(ys)
if (
((x1 > x2) and (x1 > y1)) and
((x2 > x3) and (x2 > y2)) and
((x3 > x4) and (x3 > y3)) and
((x4 > x5) and (x4 > y4)) and
((x5 > x6) and (x5 > y5)) and
((x6 > x7) and (x6 > y6)) and
(x7 > y7)
):
count += 1
print(count)
Разные, от механических (всякие семафоры, барабаны и дергающиеся веревочки) до радио, электронных и оптических. А принцип действия один - передаются заранее условленные сигналы, а при приеме они выделяются из массы других (чужих или случайных) и расшифровываются (т.е. объясняется - что передано).