Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инорм и програм - Метод. указания-3-й семестр.doc
Скачиваний:
10
Добавлен:
21.11.2018
Размер:
1.58 Mб
Скачать

Поиск простых чисел

Простое число – это число, которое делится только на 1 и на само себя. Для поиска простых чисел можно использовать алгоритм, называемый "решетом Эратосфена":

  1. Пусть задано N последовательных натуральных чисел, начиная с 2.

  2. Берем первое непомеченное натуральное число

  3. Помечаем все числа, кратные выбранному.

  4. Переходим к следующему непомеченному числу и повторяем пункт 3 до тех пор, пока не останется непомеченных чисел.

Фрагмент программы, реализующий этот алгоритм, приведен ниже.

int data[99]; /* массив для хранения натуральных чисел от 2 до 100 */

int i,j,n;

for(i=0;i<99;i++) /* заполним массив цифрами от 2 до 100 */

data[i] = i+2;

for(i=0;i<50;i++) /* будем перебирать числа до 50 включительно */

{

if(data[i] != -1) /* если число не помечено */

{

n = data[i]; /* запомним шаг */

for(j=i+n;j<99;j=j+n)

data[j] = -1; /* пометим все числа, кратные data[i] */

}

}

Треугольник Паскаля

Треугольник Паскаля имеет для 8 строк следующий вид:

1

1

1

1

2

1

1

3

3

1

1

4

6

4

1

1

5

10

10

5

1

1

6

15

20

15

6

1

1

7

21

35

35

21

7

1

Рис. 8. Пример треугольника Паскаля

Как видно из приведенного рисунка, количество элементов в i-ой строке треугольника Паскаля равно i, причем первый и последний элементы равны 1. Все остальные элементы i-ой строки треугольника Паскаля вычисляются по правилу a[i][j]=а[i-1][j-1]+a[i-1]a[j]. Таким образом, j-й элемент i-ой строки равен сумме элементов предыдущей строки, стоящих над j-м элементом и слева от него.

Содержание отчета

Отчет по лабораторной работе должен содержать:

  • задание лабораторной работы, соответствующее варианту

  • текст программы

  • результаты работы программы

Лабораторная работа 6

Цель работы

Изучение принципов составления подпрограмм и работы с ними.

Задание

Разработать программу и подпрограмму (подпрограммы), выполняющие действия согласно варианту задания

Задание

1

Определение количества дней между двумя датами, заданными тройками чисел (день, месяц, год).

2

Перевод десятичного числа формата float в систему счисления с основанием Q (Q=2..9) и заданным количеством цифр N после запятой.

3

Определение количества "черных" пятниц в XXI веке.

4

Нахождение натурального числа из N заданных, имеющего максимальную сумму делителей.

5

Нахождение всех четырехзначных натуральных чисел, в записи которых нет одинаковых цифр.

6

Нахождение всех совершенных чисел из заданных N натуральных (совершенным называется число равное сумме своих делителей, кроме себя самого 6=1+2+3).