Задачи по Pascal. Степень числа 3.

pascalУсловие задачи: Дано натуральное число n. Выяснить является ли оно степенью числа 3.

Сложность : легкая .

Для начала стоит сказать что значит является степенью числа (любого) в нашем случае 3-х.

Небольшая табличка :

32 = 9

34 = 81

36 = 729

Вот числа 9 , 81 , 729 и будут называться степенью числа 3. Проще говоря это числа которые мы получаем когда какое-то число возводим в степень.

Решается задачи очень просто . Понадобиться нам две переменные : под число которое мы будем проверять и под число 3.

var 
   n , number : integer; 
begin
write('Введите число : '); readln(n); {вводим число}
number := 3; {по условию задачи 3}
end.

В решении нам поможет цикл while и оператор условия if then else. Пишем цикл :

while (number < n) do
   number := number * 3 ; 

Посмотрим что у нас делает цикл :
Допустим мы ввели число 27 :

1-й проход цикла:

number := 3; n := 27;

3 < 27 do 
   number := 3 * 3; {будет 9}

2-й проход цикла:

number := 9; n := 27;

9 < 27 do 
   number := 9 * 3; {будет 27}

Третьего прохода у нас не будет, т.к. не выполняется условие. Цикл сделан для того чтобы возводить число в степень, т.е. приблизиться к числу , которое мы ввели.

Теперь условие :

if (number = n) then 
   writeln('Число ', n , 'является степенью числа 3')
else 
   writeln('Число ', n , 'не является степенью числа 3');

Условие очень простое.

Весь код программы :

uses crt;
var 
   n , number : integer; 
begin
clrscr; 

write('Введите число : '); readln(n); {вводим число}
number := 3; {по условию задачи 3}

while (number < n) do
   number := number * 3 ; 

if (number = n) then 
   writeln('Число ', n , ' является степенью числа 3');
else 
   writeln('Число ', n , ' не является степенью числа 3');

readln;{чтобы программа не закрывалась}

end.

Вот результат :

ris116

Написать ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *