1) Дано целое положительное число N, не превосходящее 1000. Необходимо найти,
1) Дано целое положительное число N, не превосходящее 1000. Необходимо найти, является ли это число ступенью числа 7. То есть нужно найти, существует ли такое целое число К, что 7K =N, и вывести это число или извещенье, что такового числа не существует. Для решения этой задачки ученик написал программу, но, к раскаянью, его программка оказалась неверной.
var n, k: integer;
begin
read(n);
k := 0;
while n mod 7 = 0 do begin
k := k + n div 7;
n := n div 7;
end;
if n lt;= 7 then
writeln(k)
else
writeln('He существует')
end.
Поочередно сделайте следующее.
1. Напишите, что выведет эта программка при вводе числа 49.
2. Приведите пример числа, при вводе которого приведённая программа напечатает то, что нужно.
3. Найдите в программе все оплошности (их может быть одна либо несколько). Для каждой оплошности выпишите строчку, в которой она допущена, и приведите эту же строчку в исправленном виде.
2) 7 выведет 1
3)
11 строчка, поменять на k := k + 1;
14 строка заменить на if n = 1 then
Рабочий код
var
n, k: integer;
begin
read(n);
k := 0;
while n mod 7 = 0 do
begin
k := k + 1;
n := n div 7;
end;
if n = 1 then
writeln(k)
else
writeln('He существует')
end.
Правильное решение данной задачки
const
divider = 7;
var
n: integer;
k: real;
begin
read(n);
k := ln(n) / ln(divider);
if round(k) = k then
writeln(round(k))
else
writeln('He существует');
end.
-
Вопросы ответы
Статьи
Информатика
Статьи
Математика.
Разные вопросы.
Разные вопросы.
Математика.
Разные вопросы.
Математика.
Физика.
Геометрия.
Разные вопросы.
Обществознание.