2016sdau课程练习专题三 1014
2016-05-25 10:35
225 查看
1.题目编号
1014
2.简单题意
直线分割平面的题目,要求是求n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示
3.解题思路
递推类的题目,和前面几个一个类型,找规律,当只画一条线的时候,之前有多少根直线就最多再多出之前直线数量的加1的平面,再画第二根线的时候,最多多出画第一根线之前的直线的数量个平面,所以得出公式为:D(n)=D(n-1)+2*(n-1)+1+2*(n-1);整理得:D(n)=D(n-1)+4*(n-1)+1;求得其通向公式为:D(n)=2*n*n-n+1;
4.感想
还可以,和前面几格一样,按照固定思路写就是
5.代码
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
__int64 dd;
dd=2*n*n-n+1;
printf("%I64d\n",dd);
}
return 0;
}
1014
2.简单题意
直线分割平面的题目,要求是求n条折线分割平面的最大数目。比如,一条折线可以将平面分成两部分,两条折线最多可以将平面分成7部分,具体如下所示
3.解题思路
递推类的题目,和前面几个一个类型,找规律,当只画一条线的时候,之前有多少根直线就最多再多出之前直线数量的加1的平面,再画第二根线的时候,最多多出画第一根线之前的直线的数量个平面,所以得出公式为:D(n)=D(n-1)+2*(n-1)+1+2*(n-1);整理得:D(n)=D(n-1)+4*(n-1)+1;求得其通向公式为:D(n)=2*n*n-n+1;
4.感想
还可以,和前面几格一样,按照固定思路写就是
5.代码
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
scanf("%d",&n);
__int64 dd;
dd=2*n*n-n+1;
printf("%I64d\n",dd);
}
return 0;
}
相关文章推荐
- PyCharm: Simplify chained comparison
- nginx 403forbidden
- Mapper类——hadoop
- 动态设置form表单的action属性的值的简单方法
- C++程序设计语言练习5.8 编译器对指针的优化
- C#反射实例应用--------获取程序集信息和通过类名创建类实例
- VS2010 某个文件无法设置断点的问题
- 老中医---根治python编码问题(unicode,str等)
- RunLoop的事件队列
- How to collect TrustZone debug logs and check the meaning of error code in the logs
- SQL语句
- CXF 中自定义SOAPHeader
- 串口编程利器:Pcomm lite 串口库介绍
- 怎样看待比自己强的人
- Fragment
- wcf 由 http 更改为 https 返回404,没有终结点在侦听可以接受消息的
- linux fix superblock not found
- 伪元素选择一行
- SSL/TLS协议运行机制的概述
- Can't load AMD 64-bit .dll on a IA 32-bit platform