Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C# by ggg ( 15 years ago )
static public double ret_f(int n)
{
n++;
return Math.Round((Math.Pow((Math.Sqrt(5) + 1) / 2,n)-Math.Pow((-Math.Sqrt(5) + 1) / 2,n))/Math.Sqrt(5));
}
static public void fib()
{
double ak = a;
double bk = b;
double a2, b2,k=-1;
int n = 1;
double cur = 1,cur1=1;
while (Math.Abs((bk - ak)) / e > cur)
{
double s = cur;
cur = cur1 + cur;
cur1 = s;
n++;
}
a2 = ak + (bk - ak) * ret_f(n - 2) / ret_f(n);
b2 = ak + (bk - ak) * ret_f(n - 1) / ret_f(n);
do
{
k++;
if (Function(fun, a2) > Function(fun, b2))
{ ak = a2; a2 = b2; b2 = ak + (bk - ak) * ret_f(n - 2 - (int)k) / ret_f(n - 1 - (int)k); }
else { bk = b2; b2 = a2; a2 = ak + (bk - ak) * ret_f(n - 3 - (int)k) / ret_f(n - 1 - (int)k); }
} while (k!=(n-3));
double yn1 = b2;
double zn1 = a2 + l;
if(Function(fun,yn1)>Function(fun,zn1))
{
double r = (ak + zn1) / 2;
resu = Function(fun, (yn1 + bk) / 2).ToString();
}
else
{
double r2 = (ak + zn1) / 2;
resu = Function(fun, (ak + zn1) / 2).ToString();
}
}
Revise this Paste