题目描述
同一平面内有n(n≤500)条直线,已知其中p(p≥2)条直线相交于同一点,则这n条直线最多能将平面分割成多少个不同的区域?
输入
两个整数n(n≤500)和p(如果n>=2则2≤p≤n)。
输出
一个正整数,代表最多分割成的区域数目。
样例输入
12 5
样例输出
73
代码走起
代码
#include<bits/stdc++.h> //万能头文件
using namespace std;
int a[1000]={0}; //变量声明
int num(int n){ //核心代码(计算)
if(a[n]){
return a[n];
}
a[n]=num(n-1)+n;
return a[n];
}
int main(){
int n,p;
scanf("%d%d",&n,&p); //输入
a[p]=2*p;
printf("%d\n",num(n)); //输出
return 0;
}
就这么短,惊不惊喜、意不意外?!
标签:直线,return,int,深入浅出,样例,算法,num,031,500 From: https://blog.csdn.net/sunyixuan123/article/details/143647450