Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Лекции » Рішення задач цілочисельний арифметики (пошук дільників і простих чисел)

Реферат Рішення задач цілочисельний арифметики (пошук дільників і простих чисел)





сек.)

Які числа називаються простими? Які складовими?

Як визначити просте число?

Задача2. Скласти функцію, що визначає чи є натуральне число X простим? (1? X? 109)

Хлопці зазвичай пропонують скористатися Завданням 1, підрахувавши кількість дільників. Пропоную знайти шляхи удосконалення алгоритму. Помічаємо, що:

а) просте число не може бути парним (за винятком 2),

б) непарне число не може мати парних дільників,

в) якщо знайшли хоч один дільник, то число - складене і можна зупинити цикл.

Враховуючи зауваження, складаємо функцію:

Function Prost (x: longint): boolean; d: longint;

If x mod 2=0 then Prost:=(x=2)

else begin

d:=3;

while (int64 (d) * d lt;=x) and (x mod d lt; gt; 0) do:=d + 2;

Prost:=(int64 (d) * d gt; x) and (x lt; gt; 1);

end;

end;

Як знайти всі прості числа на заданому целочисленном проміжку?

Задача3. Знайти всі прості числа на проміжку від 2 до N (N? 106).

Хлопці зазвичай пропонують в циклі скористатися функцією Prost з Задачі2. З'ясовуємо складність такого алгоритму: N *. При N=106 отримаємо 1 млрд. Дій. Отже, треба шукати більш швидке рішення.

чув хто-небудь з вас про Решето Ератосфена?

Виписую на дошці в ряд всі числа від 1 до 27 і показую принцип Решета:

викреслюю 1, викреслюю всі числа кратні 2, кратні 3, кратні 5 (крім їх самих). Залишилися тільки прості числа на дошці. Складаємо програму:

p [1]:=false; i:=2 to N do p [i]:=true;

i:=2; int64 (i) * i lt;=N do beginp [i] then begin j:=int64 (i) * i;

while j lt;=N do begin

p [j]:=false; j:=j + i;

end;

end;

if i=2 then i:=3 else i:=i + 2 ;; i:=2 to N do if p [i] then write (i,);

У вищій математиці доведено, що складність алгоритму: N * log2 (log2N), значить при N=106 отримуємо 4500000. дій і встигнемо за 1 сек знайти відповіді.

.Закрепленіе нового матеріалу (репродуктивний метод навчання, індивідуальна форма роботи).

Самостійна робота в тестуючої системі. Учням пропонується завантажити систему програмування Free Pascal, зайти на сайт acmp, самостійно скласти і відіслати на перевірку в тестуючу систему програму для вирішення Завдання під № 349.

Завдання (№ 349). Знайти всі прості числа від M до N. (2 lt;=M lt;=N lt;=10 6)

Ділю учнів на два варіанти і пропоную вирішити завдання за допомогою функції Prost і за допомогою Решета Ератосфена.

. Підведення підсумків уроку. Рефлексія.

З'ясовую, скільки часу виконувалася програма завдання № 349 кожним із способів.

У скільки разів алгоритм Решета Ератосфена виявився швидшим, ніж використання функції Prost?

Які нові алгоритми сьогодні ви дізналися на уроці? Розкажіть основну ідею цих алгоритмів.

Домашнє завдання:

1) Повторити алгоритми: НСД, знаходження дільників, визначення просте чи число, алгоритм Решета Ератосфена;

) на сайті acmp здати № 60 (надпростий число), № 171 (Кількість дільників).

Учитель інформатики Лактин В.П.

Вітебськ, 2013р.


Назад | сторінка 2 з 2





Схожі реферати:

  • Реферат на тему: Закріплення знань учнів з теми: "Числа 1-10 та число 0"
  • Реферат на тему: Знаходження оптимального числа листів фанери и Вирізання потрібного числа з ...
  • Реферат на тему: Визначення числа підприємств, обсягу продукції, середньооблікового числа пр ...
  • Реферат на тему: Докладне вивчення роботи фінансової функції ДАТАКУПОНДО, яка повертає число ...
  • Реферат на тему: Рішення завдання комівояжера за допомогою алгоритму Дейкстри