АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Приклад 3 Знайти 10 перших простих чисел

Читайте также:
  1. I. Прикладная анатомия
  2. II. Право на фабричные рисунки и модели (прикладное искусство), на товарные знаки и фирму
  3. Визначення та приклади основних та елементарних типів шифрів.
  4. Вказати риси пристосованості земноводних до водного(на прикладі пуголовка) і наземного способу життя.Розмноження і розвиток земноводних.
  5. Вопрос №2. Основные числовые множества. Некоторые свойства действительных чисел. Геометрическая интерпретация действ чисел. Окрестность точки.
  6. Де p - це тиск, F - прикладена сила, S - площа судини.
  7. ДЕКОРАТИВНО – ПРИКЛАДНОЕ ИСКУССТВО
  8. Декоративно-прикладное искусство Японии
  9. ДЛЯ ПРИКЛАДУ: зробивши покупку у травні, покупець стає учасником травневого етапу; зробивши покупки у червні, той самий покупець стає учасником червневого етапу Акції.
  10. Елементи культурного комплексу та їх приклади у місті Харкові.
  11. Етика ділових взаємин як галузь прикладної етики та її ключові принципи
  12. За якою формулою визначаються додаткові вертикальні напруження в ґрунті основи від дії зосередженої сили, що прикладена на поверхні ґрунту?

Begin

for n:=1 to 3 do

Begin

k:=2;

while k<=8 do

Begin

y:=2*k+n;

writeln(n:3, k:3,y:3);

k:=k+2;

end;

end;

end.

Параметр N змінюється з кроком 1, тому зовнішній цикл організований з використанням оператора For; параметр К змінюється з кроком 2, тому внутрішній цикл є циклом While.

Приклад № 2. Старовинна задача. Скільки можна купити биків, корів та телят, якщо вартість одного бика - 10 руб, однієї корови - 5 руб, а за одного теля платять 0,5 рубля. І якщо на 100 рублів потрібно купити 100 голів скоту.

Розв'язування:

Позначимо через b кількість биків; k - кількість корів; t - кількість телят. Після цього можна записати два рівняння:

10b + 5k + 0.5t = 100 і b + k + t = 100

На 100 рублів можна купити:
не більше 10 биків, тобто 0<=b<=10;
не більше 20 корів, тобто 0<=k<=20;
не більше 200 телят, тобто 0<=t<=200.

Отже отримуємо:

Program Priklad_2;

var b, k, t:integer;

Begin

for b:=0 to 10 do

for k:=0 to 20 do

for t:=0 to 200 do

if (10b + 5k + 0.5t = 100) and (b + k + t = 100) then

writeln('биків - ', b, ' корів - ', k,' телят - ',t);

End.

Приклад 3 Знайти 10 перших простих чисел.

 

В цій задачі використовуються такі алгоритми:

Пошук декількох чисел (10), що задовольняють деякій умові (в нашій задачі: чи є число простим?);

Визначення, чи є число простим?

 

Зрозуміло, що другий алгоритм вкладений у першій.

Змінні:

 

Вхідних даних немає.

 

Вихідні:

n –шукані числа (цілого типу)

 

Проміжні:

k – лічильник шуканих чисел (цілого типу)

p – ознака наявності дільників (логічного типу, p=false немає дільників, p=true є дільники)

i – дільники та параметр циклу (цілого типу)

Алгоритм

Якщо згадати перший алгоритм, то у ньому:

До циклу присвоюються початкові значення числу n та кількості чисел k.

В тілі циклу repeat:

Збільшується значення числа n;

Число n перевіряється на якусь умову: якщо умова вірна, то число друкується та збільшується лічильник таких чисел k.

Перевіряється умова завершення циклу: чи надрукована потрібна кількість таких чисел?

Якщо так, то цикл завершується і кінець програми;

Якщо ні, то перехід на початок тіла циклу.

Зрозуміло, що цей алгоритм буде зовнішнім циклом у нашій програмі і перебір та перевірку чисел потрібно починати з числа 1.

Умова, на яку у цьому циклі перевіряється число n, це – чи є це число простим? Алгоритм, який це визначає буде вкладений в перший.

Згадаємо, що число n називається простим, якщо в нього немає дільників в інтервалі [2, n div 2].

Тепер згадаємо другий алгоритм, який перевіряє, чи просте число n:

До циклу присвоюємо початкове значення ознаці p:=false. Тобто вважаємо, що дільників у числа n немає.

У циклі for i:=2 to n div 2 do будемо шукати дільники числа n. Для кожного i будемо перевіряти умову n mod i=0 и, якщо вона вірна (тобто i є дільником n), то установимо значення ознаки p:=true.

Коли цикл закінчиться, то перевіримо значення ознаки:

якщо p=false, то дільників немає, число n просте.

якщо p=true, то є дільники, число не просте.

Другий алгоритм вкладений у перший перед перевіркою числа n (виділено жирним).

Блок–схема програми

 

Програма

 

Var n,k,i:word; p:boolean;

Begin

n:=1; k:=0;

Repeat

n:=n+1;

p:=false;

for i:=2 to n div 2 do

if n mod i=0 then

Begin

write(n,' '); k:=k+1;

end;

until k=10;

End.

 

Результат роботи програми

Відповідь

2 3 5 7 11 13 17 19 23 29

Приклад 4 Створити програму знахождення серед чисел від 1 до 100 всіх пар чисел, для яких їх сумма дорівнює їх добутку.

 

var k, a, b: integer;

begin

k:=0;

for a:=1 to 100 do

for b:=1 to 100 do

begin

if a+b=a*b then

begin

k:=k+1;

writeln('Пара чисел: ',a, ', ', b);

end;

end;

if k=0 then writeln('Таких чисел немає');

end.

 

Задачі для самостійного розв'язання:

 

1. 1000 шт. цегли можна перевозити візками місткістю 100, 300, 400 і 500 шт. цегли. Отримати всі можливі варіанти перевезень. Підрахувати їхню кількість.

2. Футбольний мяч коштує 65 грн. Отримати всі можливі варіанти оплати, якщо у покупця є 5-, 10-, і 20-гривневі купюри. Підрахувати кількість варіантів.

3. 14 л соку потрібно розлити у 4-, 3-, 2- та 1-літрові банки. Отримати всі варіанти розливу. Підрахувати їхню кількість.

4. Для натуральних чисел a, b, c і d, що приймають значення від 1 до n, знайдіть такі, для яких виконується рівність: a=b2+c2+d2.

5. Скласти програму знаходження серед чисел від 1 до 100 всіх пар чисел, для яких їх сума рівна їх добутку.

 

 


Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.011 сек.)