Сколько цифр d в числе x - PascalABC.NET
Формулировка задачи:
Не хочет считать. Или я что-то не так делаю вообще? Напишите как проще будет сделать, пожалуйста.
Решение задачи: «Сколько цифр d в числе x»
textual
Листинг программы
var x,d,a:integer; begin readln(x); readln(d); x:=abs(x);//чтобы было положительное a:=0; repeat if x mod 10=d then inc(a); x:=x div 10; until x=0; writeln(a); end.
Объяснение кода листинга программы
- В начале объявляются три переменные:
x,dиa, которые будут использоваться в программе. - Затем происходит считывание двух чисел: первое число считывается в переменную
x, а второе число считывается в переменнуюd. - Далее происходит преобразование числа
xв абсолютное значение с помощью функцииabs(x), чтобы в дальнейшем учитывать только положительные числа. - Затем число
aинициализируется нулем. - После этого начинается цикл
repeat-until, который будет выполняться до тех пор, пока числоxне станет равным нулю. - Внутри цикла происходит проверка: если остаток от деления числа
xна 10 равен числуd, то к переменнойaприбавляется единица. - Затем число
xделится на 10 с помощью операцииx div 10. - Цикл продолжается до тех пор, пока число
xне станет равным нулю. - После окончания цикла число
aвыводится на экран с помощью функцииwriteln(a).