М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
мэри114
мэри114
21.08.2021 23:22 •  Информатика

, Напишите код на С++, желательно с комментариями Выписав первые шесть простых чисел, получим 2, 3, 5, 7, 11 и 13. Очевидно, что 6-е простое число - 13.

Какое число является 10001-м простым числом?

👇
Ответ:
Цωετοζεκ
Цωετοζεκ
21.08.2021

 Для начала определим функцию определения простого числа:

def issimple(n):

   r=math.ceil(math.sqrt(n))

   for i in range(2,n):

       if n%i==0:

           return False

   return True

  для оптимизации перебираем числа до квадратного корня искомого числа. Если n делится на хотя бы одно число от 2-х до корня n возвращаем false. Иначе True

Приведу полный оптимизированный текст:

import math

def issimple(n):

   r=math.ceil(math.sqrt(n))

   for i in range(2,n):

       if n%i==0:

           return False

   return True

n=5

s=[2,3]

while True:

   if issimple(n) is True:

       s.append(n)

   if len(s)==10001:

       break

   n+=2

print(s[-1])

Объяснение:Не смотря на все попытки дальнейшей оптимизации цикл выполняется чуть меньше 3-х минут.  

Основные принципы оптимизации: перебираем начиная с 5-ти и увеличиваем на 2 (чтобы не включать четные числа.  

Условием выхода из цикла является длина списка = 10001

Если у вас получится выполнить задачу более оптимально рада услышать ваши предложения.  

НАДЕЮСЬ ТЫ ПОНЯЛ(А)

4,7(24 оценок)
Открыть все ответы
Ответ:
KaiBennet
KaiBennet
21.08.2021

ответ:

на форму поставил компонент memo

в edit1 и edit2 вводим значения строк и столбцов

для цикла for i: = for j: =

на кнопке следующий код

объяснение:

procedure tform1.button1click(sender: tobject);

  var i,j: integer; s: string;

begin

  a: = strtoint(edit1.text);

  b: = strtoint(edit2.text);

 

    for i: = 1 to a do begin

          s: = '';

    for j: = 1 to b do

      s: = s+'   '+inttostr(i*j);

      memo1.lines[i-1]: = s;

    end;

end;

4,8(20 оценок)
Ответ:
ROLBER
ROLBER
21.08.2021

сноска — это ссылка вне основного текста на источник информации, использованный при написании статьи, или комментарий. ссылка создаётся с соответствующих тегов или шаблонов, которые нужно вставить после поясняемой части текста.

в окончательном тексте сноски размещаются автоматически в разделе «примечания». также автоматически после фрагмента поясняемого текста ставится знак сноски (цифра или значок), связывающий поясняемый текст со сноской, а в «примечаниях» перед сноской ставится значок возврата к поясняемому тексту. если кликнуть мышкой по знаку сноски, то текст переместится к сноске, если по значку возврата — то к поясняемому тексту.

4,5(88 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ