问题:平面上有n条折线,问这些折线最多能将平面分割成多少块?

思路:像这种平面被线段分割成几部分的问题,80%用递推解决,因为n条线段与(n-1)条线段能建立联系。

     你可以作图观察一下,会发现新增加的折线被分割成几个区段,平面就会增加几部分,而区段的增加又与新增折线与原有折线的交点数有关,这便建立了关系,即:

   f(n)=f(n-1)+4*n-3,这样便可以使用递推解决。

代码:

#include <stdio.h>
#include <stdlib.h>
int seg(int x);

int main()
{
  int C,i,x;
  scanf("%d",&C);
  for(i=0;i<C;i++)

  {
  scanf("%d",&x);
  printf("%d\n",seg(x));
  }
  return 0;
}
int seg(int x)
{
  if(x==1) return 2;
    else return seg(x-1)+4*x-3;
}

最新文章

  1. HTML5权威指南--Web Storage,本地数据库,本地缓存API,Web Sockets API,Geolocation API(简要学习笔记二)
  2. Sqlite使用
  3. js cookie 数组 存读
  4. 获取本机IP
  5. 【洛谷&#183;P2320】鬼谷子的钱袋
  6. 如何在BPM中使用REST服务(1):通过程序访问网页内容
  7. Eclipse无法启动报An internal error occurred during: &quot;reload maven project&quot;. java.lang.NullPointerException
  8. spark1.6配置sparksql 的元数据存储到postgresql中
  9. oracle 增加字段
  10. 仿战旗tv
  11. php图片上面写文字,输出图片
  12. 9款极具创意的HTML5/CSS3进度条动画(免积分下载)
  13. —页面布局实例———win7自己的小算盘
  14. python学习——DAY1
  15. cssradius
  16. Swift中不用桥接文件和.h头文件直接和C代码交互的方法
  17. Linux--Linux下安装JDk
  18. vue组件,可以通过npm引用的组件
  19. vue之——从彩笔的进步之路
  20. java ==与equals()方法的总结

热门文章

  1. 【原创】分布式之数据库和缓存双写一致性方案解析(三) 前端面试送命题(二)-callback,promise,generator,async-await JS的进阶技巧 前端面试送命题(一)-JS三座大山 Nodejs的运行原理-科普篇 优化设计提高sql类数据库的性能 简单理解token机制
  2. [C++设计模式] singleton 单例模式
  3. sprint3 【每日scrum】 TD助手站立会议第八天
  4. objective-C中的扩展方法与partial class
  5. ROS多个网段做隔离
  6. Http和Socket 优劣比较 使用场景选择_转
  7. 改进Spring中的分页技术
  8. Linux 安装json神器 jq
  9. Python读取word文档(python-docx包)
  10. AR9331出现connect-debounce failed,port 1 disabled解决方法备忘