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一样。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/749909.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全量知识系统“全基因序列” 的百度AI答问 之1

在您所描述的框架下&#xff0c;我们可以开始探索“知识”实体的起点以及如何认识它。首先&#xff0c;让我们明确一下“实体”的定义和性质。实体&#xff0c;在哲学和许多其他学科中&#xff0c;通常被理解为存在于我们世界中的具体事物或抽象概念。它们可以是物理的&#xf…

Flink 集群部署模式

文章目录 前言一、会话模式&#xff08;Session Mode&#xff09;二、单作业模式&#xff08;Per-Job Mode&#xff09;三、应用模式&#xff08;Application Mode&#xff09; 前言 Flink支持多种集群部署模式&#xff0c;以满足不同场景和需求。以下是Flink的主要集群部署模…

springboot多模块下swaggar界面出现异常(Knife4j文档请求异常)或者界面不报错但是没有显示任何信息

继上一篇博文&#xff0c;我们解决了多模块下扫描不到子模块的原因,建议先看上一个博客了解项目结构&#xff1a; springboot 多模块启动报错Field XXX required a bean of type XXX that could not be found. 接下来我们来解决swaggar异常的原因&#xff0c;我们成功启动项目…

QML 布局管理器之ColumnLayout

一.ColumnLayout讲解 QML中的ColumnLayout是一种布局元素&#xff0c;用于在垂直列中排列其子元素。它的主要使用下列附加属性: Layout.minimumWidth Layout.minimumHeight Layout.preferredWidth Layout.preferredHeight Layout.maximumWidth Layout.maximumHeight Layout.fil…

代码随想录算法训练营 Day25|回溯算法2

216.组合总和III 思路 按照回溯算法的逻辑&#xff0c;写代码。 递归函数的参数&#xff0c;除了原有的n, k, startIndex&#xff0c;增加一个sum&#xff0c;计算当前path中的和。 终止条件用sum与n比较&#xff0c;如果满足相等&#xff0c;且满足长度为k&#xff0c;则加入…

WPF-后台设置控件Background

有时候需要在后台设置控件的背景 方法1&#xff1a; Btn_SendNeedle_Admin.Content "送针结束"; Btn_SendNeedle_Admin.Background new SolidColorBrush((Media.Color)Media.ColorConverter.ConvertFromString("#AAFFFFFF")); 方法2&#xff1a; Btn…

SqlServer2008(R2)(一)SqlServer2008(R2)经典宝藏操作收集整理

一、常见操作 1、TRUNCATE TABLE 语句 删除表数据 TRUNCATE TABLE语句比DELET删除表中的所有行更快。从逻辑上讲&#xff0c;TRUNCATE TABLE它类似于DELETE没有WHERE子句的语句。 TRUNCATE TABLE语句从表中删除所有行&#xff0c;但表结构及其列&#xff0c;约束&#xff0c;…

JSON 配置文件

JSON 配置文件的作用 JSON 是一种数据格式&#xff0c;在实际开发中&#xff0c; JSON 总是以配置文件的形式出现。小程序项目中也不例外&#xff1a;通过不同的 .json 配置文件&#xff0c;可以对小程序项目进行不同级别的配置。 小程序项目中有 4 种 json 配置文件&#xff0…

1.AD域控如何强制删除不可以用域控服务器

(1)原因需求 (2)不可用的域控不删掉造成的问题 (3)实战配置步骤 第一步:连接登录到特定服务器 第二步:选择要删除域控所在的站点和名称 第三步:执行删除命令

Ubuntu 20.04 系统如何优雅地安装NCL?

一、什么是NCL&#xff1f; NCAR Command Language&#xff08;NCL&#xff09;是由美国大气研究中心&#xff08;NCAR&#xff09;推出的一款用于科学数据计算和可视化的免费软件。 它有着非常强大的文件输入和输出功能&#xff0c;可读写netCDF-3、netCDF-4 classic、HDF4、b…

Elasticsearch快速检索的法宝: 倒排索引

倒排索引&#xff08;Inverted Index&#xff09;是搜索引擎和信息检索系统中的一个关键数据结构&#xff0c;它允许快速进行全文搜索。在倒排索引中&#xff0c;文档的内容被分析并分割成一系列的词条&#xff08;tokens&#xff09;&#xff0c;然后每个词条被映射到包含它的…

3048. 标记所有下标的最早秒数 I(补题 ,二分 正序 逆序)

3048. 标记所有下标的最早秒数 I 给你两个下标从 1 开始的整数数组 nums 和 changeIndices &#xff0c;数组的长度分别为 n 和 m 。 一开始&#xff0c;nums 中所有下标都是未标记的&#xff0c;你的任务是标记 nums 中 所有 下标。 从第 1 秒到第 m 秒&#xff08;包括 第…

Xinstall助力web唤起iOS,打破平台壁垒,实现无缝跳转

在移动互联网时代&#xff0c;web与App之间的跳转已成为用户日常使用中不可或缺的一部分。然而&#xff0c;对于iOS系统的用户来说&#xff0c;web唤起App的过程往往充满了挑战和不便。这时&#xff0c;Xinstall作为一款专业的移动开发者服务工具&#xff0c;为开发者们提供了解…

在taro开发小程序中,创建全局事件,更新各个tabbar页面数据,适用购物车更新,taro购物车数据同步

在 Taro 小程序开发中实现一个全局的订阅发布机制&#xff0c;可以让你在任何一个 TabBar 页面修改数据时&#xff0c;通知其他 TabBar 页面更新数据。这种机制可以通过自定义事件的方式来实现 步骤 1&#xff1a;创建全局事件管理器 首先&#xff0c;在你的小程序中创建一个…

Lua中文语言编程源码-第一节,更改llex.c词法分析器模块, 使Lua支持中文关键词。

源码已经更新在CSDN的码库里&#xff1a; git clone https://gitcode.com/funsion/CLua.git 在src文件夹下的llex.c&#xff0c;是Lua的词法分析器模块。 增加中文保留字标识符列表&#xff0c;保留英文保留字标识符列表。 搜索“ORDER RESERVED”&#xff0c;将原始代码 …

微信小程序开发学习笔记——3.10【小案例】表单提交样式布局与model双向绑定

>>跟着b站up主“咸虾米_”学习微信小程序开发中&#xff0c;把学习记录存到这方便后续查找。 课程连接&#xff1a;3.10.【小案例】表单提交样式布局与model双向绑定_哔哩哔哩_bilibili 一、model简易双向绑定 简单双向绑定语法查阅&#xff1a;小程序框架 / 视图层 /…

ARM和AMD介绍

一、介绍 ARM 和 AMD 都是计算机领域中的知名公司&#xff0c;它们在不同方面具有重要的影响和地位。 ARM&#xff08;Advanced RISC Machine&#xff09;&#xff1a;ARM 公司是一家总部位于英国的公司&#xff0c;专注于设计低功耗、高性能的处理器架构。ARM 架构以其精简指…

如何在“Microsoft Visual Studio”中使用OpenCV编译应用程序

返回目录&#xff1a;OpenCV系列文章目录&#xff08;持续更新中......&#xff09; 前一篇&#xff1a;OpenCV4.9.0在windows系统下的安装 后一篇&#xff1a; 警告&#xff1a; 本教程可以包含过时的信息。 我在这里描述的所有内容都将适用于 OpenCV 的C\C接口。我首先假…

图像处理ASIC设计方法 笔记10 插值算法的流水线架构

&#xff08;一&#xff09; 三次插值算法实现的图像旋转设计的流水线架构 传统上&#xff0c;三次插值算法实现的图像旋转设计需要三块一样的处理资源&#xff0c;为了节约资源&#xff0c;采用流水线设计&#xff0c;简单来讲就是三次插值算法共用一块资源&#xff0c;优化这…

Hive Sql获取含有特殊字符key的json数据

hive表中json数据的key含有.符号&#xff0c;所以使用get_json_object(str,“$.key_1.key_2”)语法的时候就会获取到null。解法是通过json_to_map方法将json数据变成一个map结果&#xff0c;然后用key下标的方式获取值&#xff0c;代码 json_to_map(str)["key_1.key_2]