算法案例合作与讨论【问题1】古今中外,许多人致力于圆周率的研究与计算
为了计算出圆周率的越来越好的近似值,一代代的数学家为这个神秘的数贡献了无数的时间与心血
我国东汉的数学家刘徽利用“割圆术”计算圆的面积及圆周率π
“割圆术”被称为千古绝技,它的原理是用圆内接正多边形的面积去逼近圆的面积,具体计算如下:在单位圆内作内接正六边形,其面积记为A1,边长记为a1,在此基础上作圆内接正12边形,面积记为A2,边长为a2……一直做下去,记该圆的内接正6×2n-1边形面积为An,边长为an
由于所考虑的是单位圆,计算出的An即为圆周率π的近似值,n越大,An与π越接近
你能设计这样计算圆周率的一个算法吗
我的思路:应首先推导出an,an-1,An,An-1的关系
如图,设PQ为圆内接正6×2n-1边形的一边,即PQ=an-1,OR为与PQ垂直的半径,R为PQ弧的平分点,显然PR=an
a1=1,an=PR====(n=2,3,4),A1=6××1×=,An=6×2n-1××|OR||PT|=3×2n-2an-1(n=2,3,4)
通过上面两式,从a1=1开始进行迭代,可逐步计算出an与An
由于所考虑的是单位圆,计算出的An即为圆周率π的近似值,n越大,An与π越接近
算法和流程图如下:BeginReadn1←aForIfrom2tonA←3×2I-2×aa←Sqrt[2-2×Sqrt[1-a2/4]];PrintI,A,aEndforEnd流程图:用心爱心专心【问题2】有一个故事是讲唐代大官杨埙提拔官员的经过
他让两个资格职位相同的候选人解答下面这个问题,谁先答出就提拔谁
“有人在林中散步,无意中听到几个强盗在商量怎样分配抢来的布匹
若每人分6匹,就剩5匹;若每人分7匹,就差8匹
问共有强盗几个
”你能用一个简单算式求出强盗个数和布匹数吗
我的思路:这个问题可看作二元一次方