Вводится последовательность целых чисел, конец ввода – число, в котором две последние цифры равны. найти количество введенных чисел, кратных 4 pascal abc
Var - список переменных переменные а,с присваивают тип integer, т.е. целые числа; b присваивает тип string, т.е строковый тип begin - начало программы readln - оператор ввода, окончание ln осуществляет переход на новую строку str(a,b) - т.е. преобразовать данные числа в строку переменная b так же присваивает тип строковый Val(b,a,c) где: b- строка, а-результат, с-позиция с которой произошла ошибка преобразования или 0 writeln(а) - оператор вывода, окончание ln осуществляет переход на новую строку end. - конец программы
Для решения примера вспоминаем, что при переходе от шестнадцатиричной системы счисления к двоичной достаточно заменить каждую шестнадцатиричную цифру четырьмя двоичными (тетрадой). Предлагаемое в условии число представляет собой десятичную дробь, т.е. имеет целую и дробную части. Для целой части незначащими будут левые нули и мы будем искать их в первой тетраде. Для дробной части незначащие нули - последние и мы будем их искать в последней тетраде. Первая тетрада - представление 1(16)=0001(2). Левые три нуля незначащие и их удаляем, остается 1. Последняя тетрада - представление Е(16)=1110(2). Тут один незначащий ноль - правый, остается 111.. Остальные тетрады переписываем без изменения. 12АС,6Е(16)=1 0010 1010 1100 , 0110 111 (2) Считаем количество нулей в записи: 9. Это и есть ответ. Комментарии Отметить нарушение
Begin
k:=0;
Repeat
Read(A);
if A mod 4 = 0 then k:=k+1;
Until A mod 10 = (A div 10) mod 10;
WriteLn('Искомое количество: ',k);
End.