Найти все автоморфные числа через процедуру - Free Pascal

  1. Всем привет, столкнулся с проблемой, что не могу написать программу. Нужна ваша помощь. Желательно написать без функций типа trunc т.к. такого не изучали. Вот условие: 8. Программа с помощью процедуры задает последовательность чисел 1,2,3...n(n<=100). Среди них находит автоморфные числа(число и последние цифры его квадрата равны) Например: 5 и 25, 25 и 625. Спасибо заранее)


textual

Код к задаче: «Найти все автоморфные числа через процедуру - Free Pascal»

procedure avto(n: integer; var f: boolean);
var
  m: longint;
begin
  m := n * n;{квадрат числа}
  f := true;{предположим что автоморфное}
  while (n > 0) and f do
  begin
    if (n mod 10) <> (m mod 10) then 
      f := false
    else
    begin
      n := n div 10;
      m := m div 10;
    end;
  end;
end;
 
var
  a, b, i, k: longint;
  flag: boolean;
 
begin
  repeat
    writeln('Введите диапазон натуральных чисел b>a:');
    readln(a, b);
  until(a > 0) and (b > a);
  writeln('Автоморфные числа в интервале ', a, '-', b);
  k := 0;
  for i := a to b do
  begin
    Avto(i, flag);
    if flag then
    begin
      writeln(i:10, sqr(i):10);
      k := 1;
    end;
  end;
  if k = 0 then 
    write('Таких чисел нет!');
end.

СДЕЛАЙТЕ РЕПОСТ

11   голосов, оценка 4.000 из 5



Похожие ответы
  1. Заполнить массив на 200 элементов псевдослучайными числами от 20 до 80: 1)Найти среднее арифметическое всех элементов. 2)Найти среднее арифметическое всех элементов меньше пятидесяти 3)Заменить наименьшие значения в массиве нулями Вывести полученный массив.

  1. если кто может то и это: Дано число n. Проверить будут ли все цифры числа различны.

  1. Как проверять и выкидывать элементы из массивов? Дана последовательность P[i] i=1,2...n (n<=30). Получить новую последовательность X[i], выбросив из исходной все числа, большие заданного числа R. ( Не использую функции и процедуры)

  1. Здравствуйте! Возникла проблема с программой, сейчас предоставлю её код, но она работает немного не так как было задумано, кроме того где-то есть упущение. Кто разбирается помогите мне доделать её.

  1. Помогите доработать программу { Напишите процедуру Power10(k:byte; var z:comp), в которой находится целая положительная степень числа 10. }

  1. !Нельзя использовать строковый тип данных. !Не рекомендуется изменять остальной код программы. !Если при нажатии Save пропадает часть кода, измените выражения, в которых используется знак 'меньше'. Например a 'меньше' b замените на b>a. Знак "не равно" может быть заменен конструкцией not(a=b). }

  1. Помогите пожалуйста! Составить программу возведения натурального числа в квадрат, учитывая следующую закономерность: 1^2=1 2^2=1+3 3^2=1+3+5 4^2=1+3+5+7 ... n^2=1+3+5+7+9+...+(2n-1) Запрещается использовать операцию умножения, функции возведения в степень, экспоненты и логарифма. Ниже приведен рекомендуемый вид экрана программы во время ее работы. #1 Введите натуральное число -> 4 Квадрат числа 4 равен 16.

  1. Задание: Дано максимальное число, определить его максимальную и минимальную цифры,используя подпрограммы для нахождения максимальной и минимальной цефры некоторого натурального числа. Есть обычное решение:

  1. Задается значение х. Выдать, все четные числа от 0 до 10000 если х = 0 иначе выдать x^5. Как это представить в виде кода, вообще понять не могу)