• Назовем простое число суперпростым, если в его десятичной записи есть только цифры, являющиеся простыми числами, например, числа 2, 3, 5, 7, 23 — суперпростые, а 13 — нет. Известно, что сто вторым простым числом является число 557. А какое число является сто вторым суперпростым?

    В качестве ответа укажите одно натуральное число.

Ответы 1

  • Кодuses  System, System.Net, System.Threading.Tasks, System.Collections.Generic;type    ListSimple = class        l := new List<int64>();        procedure AddSimple(N: int64);        begin            var Result := True;                        var num := n;            while num > 0 do begin                if not (num mod 10 in [2,3,5,7]) then                begin                    Result := False;                    break;                end;                num := num div 10;            end;            if not Result then exit;                        for var i: int64 := 2 to round(sqrt(N)) do                if N mod i = 0 then                begin                    Result := False;                    break;                end;            // lock не позволяет нескольким потокам одновременно выполнять эту секцию.             // Это обязательно, иначе если несколько потоков одновременно будут пытаться добавить значение в список, список может оказаться испорченным            // Секция, охраняемая lock, называется критической            lock l do                 if Result then                    l.Add(N);        end;    end;var    hh := 100000;begin    var ls := new ListSimple;    var ii: int64 := 2;        Parallel.For(ii, ii + hh, ls.AddSimple);    writeln(ls.l.Count);    ls.l := ls.l.OrderBy(x->x).ToList(); //- это можно включить для проверки того, что в обоих списках - одинаковые простые числа    for var i := 0 to ls.l.Count - 1 do        writeln(i+1,' - ',ls.l[i]);        writeln;      writeln('Время выполнения = ', Milliseconds);  end.Список суперпростых1 - 22 - 33 - 54 - 75 - 236 - 377 - 538 - 739 - 22310 - 22711 - 23312 - 25713 - 27714 - 33715 - 35316 - 37317 - 52318 - 55719 - 57720 - 72721 - 73322 - 75723 - 77324 - 223725 - 227326 - 233327 - 235728 - 237729 - 255730 - 275331 - 277732 - 325333 - 325734 - 332335 - 337336 - 352737 - 353338 - 355739 - 372740 - 373341 - 522742 - 523343 - 523744 - 527345 - 532346 - 533347 - 552748 - 555749 - 557350 - 573751 - 723752 - 725353 - 733354 - 752355 - 753756 - 757357 - 757758 - 772359 - 772760 - 775361 - 775762 - 2227363 - 2227764 - 2257365 - 2272766 - 2277767 - 2322768 - 2332769 - 2333370 - 2335771 - 2353772 - 2355773 - 2375374 - 2377375 - 2523776 - 2525377 - 2535778 - 2537379 - 2552380 - 2553781 - 2557782 - 2573383 - 2725384 - 2727785 - 2733786 - 2752787 - 2773388 - 2773789 - 2777390 - 3223391 - 3223792 - 3225793 - 3232394 - 3232795 - 3235396 - 3237797 - 3253398 - 3253799 - 32573100 - 33223101 - 33353102 - 33377103 - 33533104 - 33577105 - 33757106 - 33773107 - 35227108 - 35257109 - 35323110 - 35327111 - 35353112 - 35527113 - 35533114 - 35537115 - 35573116 - 35753117 - 37223118 - 37253119 - 37273120 - 37277121 - 37337122 - 37357123 - 37537124 - 37573125 - 52223126 - 52237127 - 52253128 - 52553129 - 52727130 - 52733131 - 52757132 - 53233133 - 53323134 - 53327135 - 53353136 - 53377137 - 53527138 - 53773139 - 53777140 - 55333141 - 55337142 - 55373143 - 55733144 - 57223145 - 57373146 - 57527147 - 57557148 - 57727149 - 57737150 - 57773151 - 72223152 - 72227153 - 72253154 - 72277155 - 72337156 - 72353157 - 72533158 - 72577159 - 72727160 - 72733161 - 73237162 - 73277163 - 73327164 - 73523165 - 73553166 - 73727167 - 73757168 - 75223169 - 75227170 - 75253171 - 75277172 - 75323173 - 75337174 - 75353175 - 75377176 - 75527177 - 75533178 - 75553179 - 75557180 - 75577181 - 75773182 - 77237183 - 77323184 - 77377185 - 77527186 - 77557187 - 77573188 - 77723189 - 77773
    • Автор:

      jaylee
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years