Aptarimas:Matematika/Sinuso Integralas: Skirtumas tarp puslapio versijų

Ištrintas turinys Pridėtas turinys
544 eilutė:
Readln;
End.
:kuris duoda atsakymą 55365,3072928836 po 71 sekundės su 2,6 GHz procesorium. Šitas kodas duoda sin(x) tą patį ką ir originali ''Free Pascal'' sinuso funkcija tik, kai 0<x<1.09, o su vis didesniais 1.09<x<6.283185307179586477 atsakymas gaunasi vis netikslesnis. Nes ko gero ''Free Pascal'' skaičiuoja sinusą ekonomiškai iki 45 laipsnių, o ne naudoja labai ilgą Teiloro eilutę.
:Truputi optimizuotas šio kodo variantas:
Uses math;
var a:longint; c:real;
begin
for a:=1 to 100000000 do
c:=c+frac(a*0.159154943091895336)-
0.16666666666666667*sqr(6.283185307179586477*frac(a*0.159154943091895336))*frac(a*0.159154943091895336)+
0.0083333333333333333*frac(a*0.159154943091895336)*sqr(sqr(6.283185307179586477*frac(a*0.159154943091895336)))-
0.00019841269841269841*frac(a*0.159154943091895336)*sqr(6.283185307179586477*frac(a*0.159154943091895336))*sqr(sqr(6.283185307179586477*frac(a*0.159154943091895336)))+
0.0000027557319223985891*frac(a*0.159154943091895336)*sqr(sqr(sqr(6.283185307179586477*frac(a*0.159154943091895336))))-
0.000000025052108385441718775*frac(a*0.159154943091895336)*sqr(6.283185307179586477*frac(a*0.159154943091895336))*sqr(sqr(sqr(6.283185307179586477*frac(a*0.159154943091895336))))+
0.000000000160590438368216146*frac(a*0.159154943091895336)*sqr(sqr(6.283185307179586477*frac(a*0.159154943091895336)))*sqr(sqr(sqr(6.283185307179586477*frac(a*0.159154943091895336))))-
0.00000000000076471637318198164759*frac(a*0.159154943091895336)*
sqr(6.283185307179586477*frac(a*0.159154943091895336))*sqr(sqr(6.283185307179586477*frac(a*0.159154943091895336)))*
sqr(sqr(sqr(6.283185307179586477*frac(a*0.159154943091895336))))+
0.000000000000002811457254345520763*frac(a*0.159154943091895336)*sqr(sqr(sqr(sqr(6.283185307179586477*frac(a*0.159154943091895336))))); // 1/(2*3.14)=0.159
writeln(6.283185307179586477*c);
Readln;
End.
:duoda atsakymą 55365,307292856515 ''vis tiek po 71 sekundės'' su 2,6 GHz procesorium.
 
===Sinuso benchmark'as===
Grįžti į "Matematika/Sinuso Integralas" puslapį.