递归算法的简单运用
// n条直线最多几个交点
/*******************
减而治之,把第n条直线单独拿出来
1.定义问题,考虑几个参数
f(n)表示n条直线 最多交点数
2.找相似性(试探)
f(n) = f(n-1) + (n-1)
3.确定递归出口(特殊情况)
f(1) = 0
******************/
#include<bits/stdc++.h>
using namespace std;
int f(int n);
int main(){
int n;
while(cin>>n){
cout<<f(n)<<endl;
}
return 0;
}
int f(int n){
if(n==1)
return 0;
else return f(n - 1) + (n - 1);
}