1. 圆的定义 https://zh.wikipedia.org/zh-hans/%E5%9C%86
    2. 圆周率 https://zh.wikipedia.org/zh-hans/%E5%9C%93%E5%91%A8%E7%8E%87
    3. 圆的面积 https://zh.wikipedia.org/zh-hans/%E5%9C%86%E7%9A%84%E9%9D%A2%E7%A7%AF
  1. 圆的面积计算
    1. 逼近
      1. 上下界(这个方向研究者主要是优化逼近的速度)
        1. 割圆法
          1. 阿基米德
          2. 威理博·斯涅尔(Cyclometricus,1962年[来源请求])
          3. 惠更斯(De Circuli Magnitudine Inventa,1654年)
      2. 无限逼近
        1. 高斯格点
        2. 数值逼近(最容易操作的方法)
          1. 蒙特卡罗(掷飞镖:如果随机样本一致地散布于一个包含圆的正方形中,样本击中圆的比例趋近于圆和正方形的面积比)
    2. 拼图
      1. 圆分为很大但有限块然后重拼成一个相同面积的正方形
    3. 微积分
      1. 积分&无穷级数展开
  2. 参考文章:
    1. https://zh.m.wikihow.com/%E8%AE%A1%E7%AE%97%E5%9C%86%E5%91%A8%E7%8E%87-Pi
    2. π论 https://web.math.sinica.edu.tw/math_media/d282/28208.pdf

1)100个楼梯,一次只能走 1 、 2、3 步,问有多少种方案?

动态规划:

var a = [];
for ( var i = 1; i <= 100; i++ ){
if(i == 1){
a[i] = 1;
}else if(i == 2){
a[i] = 2;
}else if(i == 3){
a[i] = 4;
}else{
a[i] = a[i-1] + a[i-2] + a[i-3];
}
}
console.log(a[100]);

2)0-40W之间有多少含有1的数,这些数的1的个数是多少?

含有1的数字:
1 位数 1
2 位数 10+9=19
3 位数 100+9*19 =271
4 位数 1000+9*271 = 3439
5 位数 10000+9*3439 = 40951
6 位数 100000 * 9*40951 = 468559
40w = 468559 – 6*40950 = 222853
共有多少个1:
1 位数 1
2 位数 11+9=20
3 位数 100+20 + 9*20 =300
4 位数 1000+300+ 9* 300 = 4000
5 位数 50000
6 位数 600000
40w = 600000 – 50000*6 = 300000

3) n个数 从大到小,求每个数之前的所有素数 是多少。

从2开始,往后一次计算,看哪个数除以i==0,那么把这个数删除掉。
这样走到那个数的时候就知道,它前面有多少个素数了。