Program CountA;
Uses Crt;
var a,n,x,i:integer;
begin
clrscr; // очищаем экран
write('Введите число n:');
readln(n); // ввод данных
write('Введите цифру а: ');
readln(a); // ввод данных
x:=1; i:=0; i-счётчик цифр а
while (n<>0) do // Пока n не стало равным нулю
begin
x:=n mod 10; // в x остаток от деления на 10 т.е -отдельная цифра числа
if (a=x) then i:=i+1; если есть совпадение то i увеличиваем на 1
n:=n div 10; переходим к следующему разряду числа (сотни десятки единицы)
end;
writeln('Цифра ',а,' Встречается в данном числе-', i, ' раз(а)');
readkey; // Пауза до нажатия на любую клавишу
end.
2N = X2*256 + Y2*16 + Z2
X1 + Y1 + Z1 = X2 + Y2 + Z2
Во-первых, X1 < 8, иначе число 2N в 16-ной записи станет 4-значным.
Можно написать такую программу поиска этих чисел
Начало
k = 0 ' Это счетчик чисел, которые мы ищем
Цикл по X1 от 1 до 7
Цикл по Y1 от 0 до 15
Цикл по Z1 от 0 до 15
N = X1*256 + Y1*16 + Z1
M = 2*N
X2 = Int (M / 256)
Y2 = Int ((M - X2*256) / 16)
Z2 = M Mod 16
Если (X1+Y1+Z1 = X2+Y2+Z2) And ((X1 = 2) Or (Y1 = 2) Or (Z1 = 2), То
k = k + 1
Конец Если
Конец цикла по Z1
Конец цикла по Y1
Конец цикла по X1
Вывод k
Конец