(phixonline)--> include builtins\bigatom.e puts(1,"Task 1\n") constant {fns,fmts} = columnize({{3,1},{4,6},{5,6},{6,6},{7,6},{8,7},{20,16},{30,24},{50,40},{100,78}}) {} = ba_scale(196) sequence v = {2,-4} for n=3 to 100 do -- v = append(v,111 - 1130/v[n-1] + 3000/(v[n-1]*v[n-2])) v = append(v,ba_add(ba_sub(111,ba_divide(1130,v[n-1])),ba_divide(3000,ba_multiply(v[n-1],v[n-2])))) if n<9 or find(n,{20,30,50,100}) then -- printf(1,"n = %-3d %20.16f\n", {n, v[n]}) string fmt = sprintf("%%.%dB",fmts[find(n,fns)]) printf(1,"n = %-3d %s\n", {n, ba_sprintf(fmt,v[n])}) end if end for puts(1,"\nTask 2\n") --atom balance = exp(1)-1 --for i=1 to 25 do balance = balance*i-1 end for --printf(1,"\nTask 2\nBalance after 25 years: $%12.10f", balance) {} = ba_scale(41) bigatom balance = ba_sub(ba_euler(42,true),1) for i=1 to 25 do balance = ba_sub(ba_multiply(balance,i),1) end for ba_printf(1,"Balance after 25 years: $%.16B\n\n", balance) puts(1,"Task 3\n") {} = ba_scale(15) -- fine! integer a = 77617, b = 33096 --atom pa2 = power(a,2), -- pb2a211 = 11*pa2*power(b,2), -- pb4121 = 121*power(b,4), -- pb6 = power(b,6), -- pb855 = 5.5*power(b,8), -- f_ab = 333.75 * pb6 + pa2 * (pb2a211 - pb6 - pb4121 - 2) + pb855 + a/(2*b) --printf(1,"f(%d, %d) = %.15f\n\n", {a, b, f_ab}) bigatom pa2 = ba_power(a,2), pb2a211 = ba_multiply(11,ba_multiply(pa2,ba_power(b,2))), pb4121 = ba_multiply(121,ba_power(b,4)), pb6 = ba_power(b,6), pa2mid = ba_multiply(pa2,ba_sub(ba_sub(ba_sub(pb2a211,pb6),pb4121),2)), pb633375 = ba_multiply(333.75,pb6), pb855 = ba_multiply(5.5,ba_power(b,8)), f_ab = ba_add(ba_add(ba_add(pb633375,pa2mid),pb855),ba_divide(a,ba_multiply(2,b))) printf(1,"f(%d, %d) = %s\n", {a, b, ba_sprintf("%.15B",f_ab)})