MT1069 圆切平面

简介: MT1069 圆切平面

n个圆最多把平面分成几部分?输入圆的数量N,问最多把平面分成几块。比如一个圆以把一个平面切割成2块。 不考虑负数,0或者其他特殊情况。

格式

输入格式:输入为整型

输出格式:输出为整型

样例 1

输入:

2

输出:

4


方法1:利用点-棱-面公式:v-e+f=2。

其中v为交点。此时有n个圆。若随机两两相交,则共有n*Cn2=n*(n-1)个交点。

e为棱数,即圆弧数。两个圆相交最多有两个交点,即各自被分成两段圆弧。此时有n个圆,对于每一个圆,有剩余(n-1)个圆与它相交,即此时弧最多为2*(n-1),所以n个圆最多有n*2*(n-1)条弧。

v-e+f=2,解方程得f=2-v+e,即f=2-(n*(n-1))+n*2*(n-1) ,f=n^2-n+2。

代码:

#include <iostream>
using namespace std;
int main()
{
  int n;
  cin >> n;
  cout <<n*n-n+2;
  return 0;
}


方法2:

设n个圆最多可以把平面分成S(n)个部分,则S(1)=2,S(2)=4。则n-1个圆可以把平面分成S(n-1)个部分,此时加入第n个圆,这个圆与前n-1个圆最多有2*(n-1)个交点(因为这个圆每次与其他圆相交,必有进圆和出圆两步,所以n-1中的每个圆都会有2个交点,总起来是2*(n-1)个)。

所以可以得到递推关系式:S(n)=S(n-1)+2*(n-1),即S(n)-S(n-1)=2*(n-1)。

再用高中知识解,即可得到S(n)=n^2-n+2。

代码和方法1一样。

相关文章
基于PI控制器的DC-DC结构PWM系统simulink建模与仿真
本课题基于MATLAB2022a的Simulink环境,构建了包含IGBT结构、PI控制器及PWM模块的DC-DC转换器模型,通过仿真验证了系统在电压精确控制方面的性能。PI控制器通过调整占空比实现对输出电压的闭环控制,确保输出稳定。
|
5月前
|
存储 传感器 监控
A-B 1794-IB32 Flex I/O直流数字输入模块
Allen-Bradley 1794-IB32 是 Flex I/O 系列中的 32 通道直流输入模块,与以太网、ControlNet 等适配器兼容。它接受 19.2-31.2VDC 输入,每个通道都有 LED 指示灯。它专为高密度输入而设计,可与 1794-TB32、-TB32S、-TB62DS 和 -TB62EXD4X15 端子底座配合使用,允许实时插入/移除。工作温度为 0-55°C,抗振性高达 500 G,耐冲击性为 30/50 G。
|
7月前
|
存储 索引
LabVIEW开发 XY Graph DoubleScale双刻度
LabVIEW开发 XY Graph DoubleScale双刻度
47 0
|
7月前
|
存储 Kubernetes 调度
数据平面(Data Plane)
数据平面(Data Plane)和控制平面(Control Plane)是Kubernetes集群中的两个重要概念。它们分别负责处理集群中的数据和控制信息,共同实现对容器化应用的高效管理。
465 1
|
编解码 资源调度 内存技术
单片机外围模块漫谈之一,图解说明什么是Flash, SAR, Sigma-Delta型ADC
单片机外围模块漫谈之一,图解说明什么是Flash, SAR, Sigma-Delta型ADC