A : 平面划分

Description

一条直线可以把平面分成两部分,两条直线分成四部分。那么 n 条直线最多可以把平面分成几部分?

Input

多组数据,每组数据一个正整数 1≤�≤1000。

Output

Sample

#0
Input

Copy

复制代码
3
5
Output

Copy

复制代码
7
16

Hint

小学奥数:要分的最多,就需要两两相交,且没有任何三条直线交于一点。假设已有 n 条直线,在增加第 n+1 条时,与之前每条直线都有一个独立交点, n 个交点把新的直线分成 n+1 段,每段都会把一个部分一分为二,所以增加了 n+1 块。

复制代码
#include <iostream>
#include <cmath>
#include <cstring>
#include <string>
#include <queue>
#include "stdio.h"
#include <vector>
using namespace std;
// 1 2
// 2 4
// 3 7
// 4 11
// 5 16
int a[1005];
int main()
{
    int n;
    a[1] = 2;
    a[2] = 4;
    for (int i = 3; i <= 1005; i++)
    {
        a[i] = a[i - 1] + i;
    }
    while (cin >> n)
    {
        cout << a[n] << endl;
    }
    return 0;
}
相关推荐
Jia ming12 小时前
C语言实现日期天数计算
c语言·开发语言·算法
无限进步_13 小时前
【C++&string】大数相乘算法详解:从字符串加法到乘法实现
java·开发语言·c++·git·算法·github·visual studio
苏纪云13 小时前
蓝桥杯考前突击
c++·算法·蓝桥杯
W230357657313 小时前
经典算法详解:最长公共子序列 (LCS) —— 从暴力递归到动态规划完整实现
算法·动态规划·最长子序列
pzx_00113 小时前
【优化器】 随机梯度下降 SGD 详解
人工智能·python·算法
小肝一下14 小时前
每日两道力扣,day8
c++·算法·leetcode·哈希算法·hot100
无限进步_14 小时前
【C++】验证回文字符串:高效算法详解与优化
java·开发语言·c++·git·算法·github·visual studio
Meme Buoy14 小时前
18.补充数学1:生成树-最短路径-最大流量-线性规划
数据结构·算法
paeamecium14 小时前
【PAT甲级真题】- Count PAT‘s (25)
c++·算法·动态规划·pat考试·pat
汀、人工智能14 小时前
[特殊字符] 第89课:岛屿数量
数据结构·算法·数据库架构·图论·bfs·岛屿数量