Дана строка, состоящая из заглавных английских букв и цифр. Определить сумму числовых значений нечетных цифр - Free Pascal
Формулировка задачи:
Дана строка, состоящая из заглавных английских букв и цифр. Определить сумму числовых значений нечетных цифр.
Входные данные:
В единственной строке входного потока дана строка символов, длина которой не превышает 255.
Пример входного файла: KDSFJHGLKDJGHLSUIRH5HGUHG58HGLAHEJATI8...
Пример выходного файла: 19
Решение задачи: «Дана строка, состоящая из заглавных английских букв и цифр. Определить сумму числовых значений нечетных цифр»
textual
Листинг программы
sum:=0; for i:=1 to length(s) do if (s[i] in ['1'..'9'])and odd(ord(s[i])-48) then sum:=sum+ord(s[i])-48;
Объяснение кода листинга программы
В данном коде происходит следующее:
- Переменная
sumинициализируется значением 0. Она будет использоваться для подсчета суммы числовых значений нечетных цифр. - Запускается цикл
for, который проходит по каждому символу в строкеs. - Внутри цикла проверяется, является ли текущий символ числом от 1 до 9 (включительно) и является ли он нечетным числом. Для этого используется функция
oddдля проверки нечетности числа и функцияordдля получения числового значения символа, которое затем вычитается из 48 (чтобы получить числовое значение символа от 0 до 9). - Если текущий символ удовлетворяет обоим условиям, его числовое значение добавляется к переменной
sum. - После завершения цикла, переменная
sumбудет содержать сумму числовых значений нечетных цифр в строкеs.