В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
Chamomilla1
Chamomilla1
08.07.2021 02:08 •  Информатика

9 класс Паскаль. Функции. (integer)

Написать программу используя функцию, которая определяет, сколько зерен попросил положить на N-ую клетку изобретатель шахмат (на 1-ую – 1 зерно, на 2-ую – 2 зерна, на 3-ю – 3 зерна, …)

Пример:

Введите номер клетки:

28

На 28-ой клетке 134217728 зерен.

Ответ:
Умняшаааа145
Умняшаааа145
17.02.2022 17:50

Количество зёрен на клетке будет равно 2^(N-1)

Тут сказано использовать переменную типа integer, при этом надо помнить, что максимальный номер клетки, который можно задавать равен 31 (для номеров выше будет либо ошибка, либо неверный ответ).

Чтобы считать зерно вплоть до последней, 64-ой клетки шахматной доски- надо менять тип на uint64 либо BigInteger (но, они не везде доступны да и программу надо будет править).

Вариант с циклом loop (в нём задаётся число повторов)

function Zern2(a: integer): integer;

begin

Result := 1;

loop a-1 do

Result := Result * 2;

end;

begin

var n,m: integer;

write('Введите номер клетки: ');

Read(n);

m:=Zern2(n);

write('Зёрен на этой клетке: ',m,' шт.');

end.

Вариант с циклом while:

function Zern2(a: integer): integer;

begin

Result := 1;

while a>1 do

begin

Result := Result * 2;

a := a - 1;

end;

end;

begin

var n,m: integer;

write('Введите номер клетки: ');

Read(n);

m:=Zern2(n);

write('Зёрен на этой клетке: ',m,' шт.');

end.

Вариант без цикла:

function Zern2(a: integer): integer;

begin

Result := Trunc(power(2,a-1));

end;

begin

var n,m: integer;

write('Введите номер клетки: ');

Read(n);

m:=Zern2(n);

write('Зёрен на этой клетке: ',m,' шт.');

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?