![]() |
|
|
|
|
#1
|
|||
|
|||
|
написать программу, проверяющую, является ли число M степенью числа N и наоборот. M и N вводит пользователь. M и N не обязательно являются целыми числами.
_________________________________ Помогите сделать,отблагодарю! |
|
#2
|
|||
|
|||
|
Где-то так:
Код:
uses Math;
function IsPower(M,N : Integer) : Boolean;
var
P, I : Integer;
begin
I := 0;
P := 0;
Result := False;
While P < M Do
Begin
Inc(I);
P := Power(N,I);
Result := P = M;
If Result Then Break;
End;
end;функция предполагает, что числа положительные. |
|
#3
|
|||
|
|||
|
lmikle,
Цитата:
*** Все гораздо проще =) На самом деле, достаточно воспользоваться определением логарифма. Код:
function IsPower(N, M: Real): Boolean; var RealPower: Real; begin RealPower := ln(M) / ln(N); // это степень, в которую нужно возвести N, чтобы получить M Result := (RealPower - Trunc(RealPower) < 1E-7); // проверяем степень близости к целому с допуском 1E-7 end; Последний раз редактировалось Nyctos Kasignete, 06.05.2009 в 15:24. |
|
#4
|
|||
|
|||
|
Да, невнимательно прочитал.
Тогда твой вариант, наверное, проще. |
|
#5
|
|||
|
|||
|
помогите плиз.
Разобрать программу и выполнить: 1) Ввести размерность квадратной матрицы N; 2) Двумя способами ввести элементы: а) с клавиатуры; б) с помощью random(k) (генератор случайных числе) в диапазоне 0..(К-1) диапазон чисел [-50;50] y:= random (101) -50 3) построить треугольную матрицу, получающуюся в результате выделения элементов ниже побочной диагонали, включая её. 4)Распечатать полученную матрицу 5)Вычислить положительное среднее арифметическое значение полученной матрицы. |