Неверный подсчет знаминателя
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Неверный подсчет знаминателя - 2009-12-13 17:56:05.250000
|
|
|
TaRak0t
Сообщений: 6
Оценки: 0
Присоединился: 2009-12-13 17:51:47.240000
|
Почему происходит не верный подсчет знаменателя в строке 48? a:=fak(i)/(power(i,Sqr(i)));
unit Unit1;
interface
uses
Windows, Messages,Math, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;
type
TForm1 = class(TForm)
strngrd1: TStringGrid;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function fak(n:Integer):Integer;
var
i:integer;
f:Integer;
begin
f:=1;
for i:=1 to n do f:=f*i;
fak:=f;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i:Integer;
sum:double;
a:Real;
begin
strngrd1.cells[0,0]:='№ Шага';
strngrd1.cells[1,0]:='Значение элемента';
strngrd1.cells[2,0]:='Сумма элементов' ;
sum:=0;
for i:=1 to 12 do
begin
a:=fak(i)/(power(i,Sqr(i)));
ShowMessage(floatToStr(fak(i)));
ShowMessage(floatToStr(power(i,Sqr(i))));
sum:=sum+a;
strngrd1.Cells[0,i]:=intToStr(i);
strngrd1.Cells[1,i]:=FloatToStr(a);
strngrd1.Cells[2,i]:=FloatToStr(sum);
end;
end;
end.
|
|
|
RE: Неверный подсчет знаминателя - 2009-12-13 18:22:07.150000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
Числа слишком большие? Считай отдельно дробь и отдельно знаменатель. Выводи промежуточные результаты… Есть мнение, что значения факториала не влазят в допустимый диапазон для integerю
|
|
|
RE: Неверный подсчет знаминателя - 2009-12-13 18:24:13.486666
|
|
|
wlan
Сообщений: 141
Оценки: 0
Присоединился: 2009-08-17 20:03:15.813333
|
>Есть мнение, что значения факториала не влазят в допустимый диапазон для integerю заюзать long не?
|
|
|
RE: Неверный подсчет знаминателя - 2009-12-13 18:49:43.443333
|
|
|
TaRak0t
Сообщений: 6
Оценки: 0
Присоединился: 2009-12-13 17:51:47.240000
|
quote:
ORIGINAL: _SaZ_ Числа слишком большие? Считай отдельно дробь и отдельно знаменатель. Выводи промежуточные результаты… Помогло, рассчитал все промежуточные результаты
|
|
|
RE: Неверный подсчет знаминателя - 2009-12-13 20:39:04.010000
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
quote:
ORIGINAL: wlan >Есть мнение, что значения факториала не влазят в допустимый диапазон для integerю заюзать long не? А разница?
|
|
|
|
|