在一个平面上有一个圆和n条直线,这些直线中每一条在圆内同其他直线相交,假设没有3条直线相交于一点,试问这些直线将圆分成多少区域。
1)写出递归方程;
2)编写程序计算划分的区域个数,输入为n。
答案:
1) F(n) = F(n - 1) + n F(1) = 2;
2) long F(int n) {
if (n == 1) return 2;
return F(n-1) + n; }
在一个平面上有一个圆和n条直线,这些直线中每一条在圆内同其他直线相交,假设没有3条直线相交于一点,试问这些直线将圆分成多少区域。
1)写出递归方程;
2)编写程序计算划分的区域个数,输入为n。
答案:
1) F(n) = F(n - 1) + n F(1) = 2;
2) long F(int n) {
if (n == 1) return 2;
return F(n-1) + n; }