НА ЯЗЫКЕ ПАСКАЛЯ
Сколько раз встречается цифра 1 в числах от 1 до 1000 включительно.
Ответы
Без выбора диапазона:
Var a, b, c, z, i, x: integer;
Begin
Write('Введите цифру, которая должна встречаться: ');
Readln(a);
z := 0;
For i:= 2 to 1000 do
Begin
b:= 0 + i;
Repeat
c := b mod 10;
b := b div 10;
z := z + ((10 - (c+10) mod (a+10)) div 10);
Until b = 0;
End;
Writeln('Цифра встречается: ', z);
End.
С выбором диапазона:
Var a, b, c, z, i, x, n: integer;
Begin
Write('Введите конечное число диапазона: ');
Readln(n);
Write('Введите цифру, которая должна встречаться: ');
Readln(a);
z := 0;
For i:= 2 to n do
Begin
b:= 0 + i;
Repeat
c := b mod 10;
b := b div 10;
z := z + ((10 - (c+10) mod (a+10)) div 10);
Until b = 0;
End;
Writeln('Цифра встречается: ', z);
End.
Объяснение:
В программе я сделал проверку любой однозначной цифры (0-9). Чтобы поменять диапазон нужно в цикле For указать любое число.