Циклические вычисления на языке Си
Автор: Виктор Пестерев • Февраль 19, 2022 • Лабораторная работа • 337 Слов (2 Страниц) • 238 Просмотры
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра Вычислительной техники
ОТЧЕТ
по лабораторной работе №1
по дисциплине «Программирование»
Тема: Циклические вычисления на языке Си
Студент гр. 1306 | Пестерев В.А. | |
Преподаватель | Аббас С.А. |
Санкт-Петербург
2021
Цель работы.
Целью работы является изучение циклических вычислений на языке Си и получение практических навыков в написании алгоритмов с использованием циклов.
Задание (вариант 11)
Проверить, являются ли два целых положительных числа взаимно простыми. Два различных натуральных числа являются взаимно простыми, если их наибольший общий делитель равен единице.
Постановка задачи и описание решения
Для решения задачи создадим две переменных типа long, в которые будем записывать числа и производить с ними необходимые действия.
Для поиска наибольшего общего делителя воспользуемся расширенным алгоритмом Евклида: находим остаток от деления большего числа на меньшее и заменяем большее число на него, повторяем это действие до тех пор, пока остаток от деления не станет равным нулю.
Так как в ходе этих преобразований одна из переменных будет равна нулю, а другая искомому НОД, то можно считать, что НОД равен сумме этих двух переменных.
После того, как был найден наибольший общий делитель, проверим, равен ли он единице (являются ли числа взаимно простыми). Если равен, то выведем «YES», в противном случае «NO».
Описание переменных
№ | Имя переменной | Тип | Назначение |
1 | a | long | Первое вводимое число |
2 | b | long | Второе вводимое число |
Схема алгоритма
[pic 1]
Контрольные примеры
Входные данные | Выходные данные |
21 15 | NO |
15 32 | YES |
232164 2314654 | NO |
879451267 316584784 | YES |
11111 111111 | YES |
...