Двоичный логарифм факториала
Всем привет. Нужно создать калькулятор, все арифметические действия я сделал, но никак не могу понять как написать такую функцию двоичный логарифм факториала. Подскажите пожалуйста
9 ответов
спасибо, но как изменить под формат моего калькулятора? Например чтобы перевести в степень у меня такой код
procedure TForm1.Button7Click(Sender: TObject); var A,B,C:real; st:string; code : integer; begin st:=Edit1.Text; Val(st,A,code); st:=Edit2.Text; Val(st,B,code); C:=Power(A,B); STR(C:0:3,st); Edit3.Text:=st; end;
Ну я не телепат, но примерно так.
function log2fact(n: Integer): Real; var r: Real; i: Integer; begin r:=0.0; for i := 2 to n do r := r + ln(10); log2fact := r/ln(2.0); end; procedure TForm1.Button1Click(Sender: TObject); begin end; procedure TForm2.Button2Click(Sender: TObject); begin end; ............................................................ procedure TForm1.Button7Click(Sender: TObject); begin end; procedure TForm1.Button8Click(Sender: TObject); var A,B,C:real; st:string; code : integer; begin st:=Edit1.Text; Val(st,A,code); C:=log2fact(A); STR(C:0:3,st); Edit6.Text:=st; end;
выдает несовместимость Real and IntegerТогда начните функцию по-другому
function log2fact(n: Real): Real;