暑假临近中。

bc计算器用法

计算时保留20位小数

echo 1/3 | bc -l

保留10位小数

scale=10

退出bc

quit

比较大小

9+6 < 2
9+7 == 2

统计位数

length(6659.3)

统计小数点后位数

scale(0.33)

开方

sqrt(4)

计算斐波纳契数列1)第n项的函数

define f(x) {
  if (x <= 0) return (0);
  if (x == 1) return (1);
  return (f(x-1) + f(x-2));
}

while (1) {
  "x = "; x = read()
  print "\n"
  "x == "; x
  "f(x) == "; f(x)
  print "\n"
  if (x < 0) break;
}

算到第30项用了4秒左右,算到50项程序开始僵死2)。但是2^999依旧能计算出来。另外,注释语句中如果包含中文字会导致上面的函数无法执行。

1) F0=0, F1=1, Fn=F(n-1) + F(n-2)
2) 使用的是mingw编译版本
打印/导出