Есть ответ 👍

4. первоклассные числа ограничения: время - 200мс, память - 256мб если взять натуральное число и найти сумму квадратов его цифр, затем сумму квадратов цифр результата и так далее, то через несколько шагов для некоторых из чисел получится число 1. такие числа будем называть первоклассными. например, первоклассным будет число 19, так как 1^2+9^2=82, 8^2+2^2=68, 6^2+8^2=100, 1^2+0^2+0^2=1. числа 2 или 5 первоклассными не являются. напишите программу, которая находит количество первоклассных чисел среди чисел в диапазоне от а до в включительно. первая строка ввода содержит два целых чисел а, в. вывести одно целое число - количество первоклассных чисел среди чисел в диапазоне от а до в. пример ввода1. пример вывода1 5. 4 4 5 6 3 7. пример ввода 2. пример вывода 2 3 9 5 6. 1

246
335
Посмотреть ответы 2

Ответы на вопрос:


Pascalabc.net 3.4.2, сборка 1847 от 28.10.2018 внимание! если программа не работает, обновите версию!

function суммаквадратовцифр(число: integer): integer;

begin

  result : = 0;

  while число > 0 do

  begin

    result += sqr(число mod 10);

    число : = число div 10

  end

end;

function числопервоклассное(число: integer): boolean;

begin

  число : = abs(число); // защита от злобных буратинок

  var l: =new sortedset< integer> ;

  l.add(число);

  repeat

    case число of

      0, 2, 3:

        begin

          result : = false;

          exit

        end;

      1:

        begin

          result : = true;

          exit

        end;

      else

      begin

        число : = суммаквадратовцифр(число);

        if l.contains(число) then

        begin

          result: =false;

          exit

        end

        else l.add(число)

      end

    end

  until false // бесконечный цикл

end;

begin

  var (нижняяграница, верхняяграница) : = readinteger2;

  var количество : = 0;

  for var очередноечисло : = нижняяграница to верхняяграница do

    if числопервоклассное(очередноечисло) then inc(количество);

  количество.println

end.

1 100 20
choserge
4,4(9 оценок)

прасти я не смог это сделать спроси у других оцени до идипльного

Популярно: Информатика