begin
var c := ReadlnString;
if c.Any(t -> not (t in ['0'..'9'])) then
begin
Print('Ошибка ввода');
exit
end;
var a := c.Select(t -> t.ToDigit).ToArray;
Writeln('a) ', c.Where(t -> t = '9').Count);
Writeln('б) ', a.Where(t -> t = a[0]).Count);
Writeln('в) ', a.Where(t -> t.IsOdd).Count);
Writeln('г) ', a.Where(t -> t < 3).Sum);
Writeln('д) ', a.Where(t -> t.IsEven and (t > 4))
.Aggregate(1, (p, q)-> p * q));
Writeln('е) ', a.Where(t -> (t = 2) or (t = 3)).Count);
end.
Пример1764963253120a) 1б) 2в) 7г) 6д) 36е) 4Примечание: количество цифр в числе практически не ограничено, контроль на ввод "не-цифр" имеется.Примітка. Код, наведений тут, написано на Python.
Цю задачу можна розв'язати принаймні двома
1) Програмний. Просто скласти всі числа від 2 до N (включно; тому N + 1 у range). Python дає можливість використовувати sum і range, для інших мов програмування можна використовувати цикл, що виконується поки змінна-лічильник < N, та під час кожної ітерації збільшувати змінну-лічильник на 2. Слід зазначити, що в разі якщо значення N дуже велике, цей код виконуватиметься повільно.
N = int(input())
result = sum(range(2, N + 1, 2))
print(result)
2) Математичний (краще використовувати для більших N):
Щоб знайти суму перших n парних натуральних чисел, можна використовувати цю формулу:
2 + 4 + 6 + ... + 2n = n(n + 1)
Сума грошей, яку отримає кожен пірат дорівнює сумі перших N // 2 парних/непарних натуральних чисел => n = N // 2, де // -- цілочисельне ділення.
N = int(input())
n = N // 2
result = n * (n + 1)
print(result)
varMyRandomNumber, x, y := extended;
begin
x := 0;
y := 100;
varMyRandomNumber := random(x,y); ShowMessage(IntToStr(varMyRandomNumber));
end;