Proc31. Описать функцию IsPalindrom($$K$$), возвращающую True, если целый параметр $$K$$ ($$> 0$$) является палиндромом (то есть его запись читается одинаково слева направо и справа налево), и False в противном случае. С ее помощью найти количество палиндромов в наборе из 10 целых положительных чисел. При описании функции можно использовать функции DigitCount и DigitN из заданий Proc29 и Proc30.
Решение Дмитрий:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
использовать Файлы алг Количество палиндромов (рез цел amount) нач файл файл1 файл1:=открыть на чтение ("Proc31.txt") цел x amount:=0 нц пока не конец файла (файл1) ввод файл1, x вывод x," " если IsPalindrom(x) то amount:=amount+1 все кц закрыть(файл1) кон алг лог IsPalindrom (арг цел K) нач цел a,b a:=K b:=0 нц пока a<>0 b:=b*10+mod(a,10) a:=div(a,10) кц знач:=K=b кон |
Файл Proc31.txt
1 |
33 55 1 3345 666 88895 36 8888 65 |
Другие задачи из раздела Proc можно посмотреть здесь.
Комментарии: