![]() |
|
|
#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)Вычислить положительное среднее арифметическое значение полученной матрицы. |