• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Паскаль, помощь в доработке программ.

  • Автор темы Автор темы shrek=)
  • Дата начала Дата начала

shrek=)

Студент БГПУ
Почётный участник
Регистрация
6 Фев 2010
Сообщения
420
Реакции
6
Баллы
0
Паскаль, помощь в доработке программ.

Дан массив из n натуральных чисел. Определить количество степеней пятерки.
Использовать функцию определения степени пятерки

Выдает неверное значение расчета
Код:
uses crt;
const
n=10;
var
mas:array [1..n] of integer;
i,k,l:integer;
w:real;
function log(b:real):real;
begin
log:=ln(b)/ln(5);
end;
begin
k:=0;
randomize;
for i:=1 to n do begin
mas[i]:=random(50)+1;
mas[5]:=25;
mas[8]:=125;
mas[7]:=25;
write (mas[i]:4);
log(mas[i]);
w:=(log(mas[i]));
if mas[i]=exp(ln(5)*w) then inc(k);
end;
writeln;
write ('k=',k);
readln
end.
 
Дан массив из n натуральных чисел. Определить количество степеней пятерки. Использовать функцию определения степени пятерки
Ну, тут бы я пошел по несколько иному пути - без логарифмов и вообще, раз уж речь идет о натуральных числах, так с этим бы форматом и работал. Например, так:
Код:
const
 n=10;
var
 mas:array [1..n] of Word;
 i:Integer;
 N_5:Byte;

Function f5(k:Word):Boolean;
Var
 d,m:Word;
Begin
 Repeat
  d:=k div 5;
  m:=k mod 5;
  if m=0 then k:=d;
 Until (m>0) or ((m=0) and (d=1));
 f5:=((m=0) and (d=1));
End;

BEGIN
 for i:=1 to n do
  begin
   write('mas[',i:2,']= ');
   readln(mas[i]);
  end;
 N_5:=0;
 For i:=1 to n do
  if f5(mas[i]) then Inc(N_5);
 writeln('Number of 5 powers is ',N_5);
 readln;
END.
 
Vladimir_S, спасибо огромное очень помогли.
 
Назад
Сверху