II.14. Целочисленная арифметика — КиберПедия 

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

II.14. Целочисленная арифметика

2021-06-23 37
II.14. Целочисленная арифметика 0.00 из 5.00 0 оценок
Заказать работу

Задание: Составить программу к решению задачи:«Дано целое число N. Найти произведение цифр этого числа».

Решение:

Для того чтобы найти произведение цифр числа, необходимо знать эти цифры. Алгоритм нахождения цифр уже обсуждался ранее (последнюю цифру находим с помощью остатка от деления на 10 и укорачиваем число на эту цифру делением числа на 10 нацело, затем процесс повторяется, пока не будут найдены все цифры числа). Но в ранее рассмотренных задачах, заранее оговаривалось количество цифр заданного числа. В этой задаче количество цифр может быть произвольным.

Пусть Х – переменная, в которой будет храниться цифра числа, найденная в текущий момент. Пусть Р – произведение цифр. Вначале работы программы Р равно 1, т.к. при поиске произведения, переменную нельзя обнулять (сколько 0 не умножай – результатом будет 0).

Если повторять операторы

X=N MOD 10

N=N\10

P=P*X, то постепенно в переменной Р будет получаться произведение цифр числа N.

Убедимся в этом на конкретном примере. Допустим N=2584.

  X N P
До выполнения операторов X=N MOD 10 N=N\10 P=P*X 0 2584 1
После первого выполнения операторов 4 258 4
После второго выполнения операторов 8 25 32
После третьего выполнения операторов 5 2 160
После четвертого выполнения операторов 2 0 320

 

В этом примере операторы повторялись 4 раза, так как число было четырехзначным, но по условию задачи количество цифр может быть любым, поэтому количество повторений не известно. Чтобы применить для решения задачи оператор цикла с предусловием, нужно выяснить условие, при котором следует выполнять данную серию операторов. Рассмотрим на примере еще одного числа. Допустим N=319.

  X N P
До выполнения операторов 0 319 1
После первого выполнения операторов 9 31 9
После второго выполнения операторов 1 3 9
После третьего выполнения операторов 3 0 27

 

Сопоставляя примеры, можно сделать вывод, что операторы повторяются до тех пор, пока число N не станет равным 0. Условие работы цикла N<>0.

Итак, в программе необходимо реализовать следующий алгоритм:

1. ввести число N;

2. P=1;

3. в цикле с предусловием N<>0

a) вычислить цифру Х;

b) оторвать цифру от исходного числа;

c) увеличить произведение;

4. вывести результат.

Программа:

CLS

PRINT “введите заданное число”

INPUT N

P=0

WHILE N<>0

X=N MOD 10

N=N\10

  P=P*X

WEND

PRINT “произведение цифр числа равно ”, P

END

 

Задание: Составить программу к решению задачи:«Дано целое число n. Является ли число перевертышем? Например, 56465 – читается одинаково в ту и другую сторону».

Решение:

Для того, чтобы определить, является ли число перевертышем, необходимо перевернуть это число и проверить, равно ли оно исходному. Пусть Y – перевернутое число. Чтобы его получить, нужно собрать по разрядам цифры исходного числа, но в обратном порядке.

В этой задаче количество цифр может быть произвольным, поэтому цифры будем находить так же, как и в предыдущей задаче. Пусть X – переменная, в которой будет храниться цифра числа, найденная в текущий момент.

Рассмотрим, на конкретном примере: допустим N=2584.

  X N У

Получение числа у

До выполнения операторов X=N MOD 10 N=N\10 У=??? 0 2584 0
После первого шага цикла 4 258 4 0*10+4
После второго шага цикла 8 25 48 4*10+8
После третьего шага цикла 5 2 485 48*10+5
После четвертого шага цикла 2 0 4852 485*10+2

Выясним, каким должен быть оператор нахождения числа Y. Из последнего столбца таблицы видно, что содержимое переменной Y на каждом шаге работы цикла увеличивается в 10 раз и к нему прибавляется цифра, найденная на соответствующем шаге работы цикла (Y=Y*10+х).

Если повторять операторы

X=N MOD 10

N=N\10

Y=Y*10+Х, то в итоге в переменной Y будет перевернутое число. Останется сравнить его с данным. Но, в процессе работы цикла, число N превратилось в ноль. Поэтому необходимо перед циклом сохранить данное число в дополнительной переменной. Пусть это будет переменная K.

Итак, в программе необходимо реализовать следующий алгоритм:

1. ввести число N;

2. сохранить данное число в переменной K;

3. в цикле с предусловием N<>0

a) вычислить цифру Х;

b) оторвать цифру от исходного числа;

c) увеличить число Y;

4. сравнить числа K и Y и вывести результат.

Программа:

CLS

PRINT “введите заданное число”

INPUT N

K=N: Y=0

WHILE N<>0

X=N MOD 10

N=N\10

Y=Y*10+X

WEND

IF K=Y THEN PRINT “является перевертышем” ELSE PRINT “не является перевертышем”

END

 

Задания для самостоятельного решения:

1. Женщина шла на базар продавать яйца. Ее случайно сбил с ног всадник, в результате чего все яйца разбились. Всадник предложил оплатить убытки и спросил, сколько у нее было яиц. Женщина сказала, что точного числа она не помнит, но когда она брала яйца парами, то оставалось одно яйцо. Одно яйцо оставалось также, когда она брала по 3,4, 5 и 6 яиц, но когда она брала по 7 штук, то в остатке ничего не было. Напишите программу, которая определит какое минимальное число яиц было в корзине.

2. Дано натуральное число N. каких цифр в числе больше: четных или нечетных.

3. Дано натуральное число N. Получить новое число, приписав к числу N такое же.

4. Дано натуральное число N. Найти разницу между максимальной и минимальной цифрами числа.

5. Дано натуральное число N. Приписать к числу по краям единички.

6. Дано натуральное число N. Обрезать крайние цифры числа.

7. Написать программу перевода числа n в систему с основанием k (1<k<10).

 

Приложения


Поделиться с друзьями:

Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...

Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьше­ния длины пробега и улучшения маневрирования ВС при...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.015 с.