profile
Размещено 6 лет назад по предмету Информатика от bropines

Помогите!!!
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

  1. Ответ на вопрос
    Ответ на вопрос дан Аккаунт удален

    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

    1. Ответ на вопрос
      Ответ на вопрос дан srzontmp
      Мне просто было интересно, какие ограничения на A и B? Ответ я так и не получил.
    2. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Ну вот поскольку ответов вообще нет ни на какие вопросы, оно все так, как оно есть.
    3. Ответ на вопрос
      Ответ на вопрос дан bropines
      Так ограничения
    4. Ответ на вопрос
      Ответ на вопрос дан bropines
      Ввод 1 20 вывод 5.
    5. Ответ на вопрос
      Ответ на вопрос дан Аккаунт удален
      Понятно. Но это не ограничения. Это контрольный пример. Можете пробовать))
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.