Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите решить простенькую задачку.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Casual
Задача такая: Найти наибольшую степень 3, непревышающую заданного числа m.
Вот моя программа:

Program Stepen;
var m, n:integer;
begin
writeln('Vvedite chislo');
readln(m);
n:=0;
while exp(n*ln(3))<m do n:=n+1;
writeln(n);
readln;
end.
klem4
Цитата
Найти наибольшую степень 3, непревышающую заданного числа m.


может всетаки наименьшую ? Чтобы exp не юзать, можно вот так:

var m, n, p:integer;
begin
writeln('Vvedite chislo');
readln(m);

n := 1;
p := 3;

while (p <= m) do begin
inc(n);
p := p * 3;
end;

writeln('n = ', n);
end.


ps помещай свой код в теги.
volvo
Цитата
может всетаки наименьшую ?
А чем наименьшая лучше наибольшей? Задание было про наибольшую, значит, надо наибольшую:

var m, n, p:integer;
begin
writeln('Vvedite chislo');
readln(m);

n := -1; p := 1;

repeat
inc(n);
p := p * 3;
until p > m;

writeln('n = ', n);
end.

klem4
smile.gif Ты прав, я пропустил не
Цитата
непревышающую
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.