C++競プロ学習日記(仮)

( 学習記録であり解説Blogではないです )

再帰①|等差数列の和

#include <bits/stdc++.h>
using namespace std;
int sum( int N )
{
    if( N == 0 ) //基底部
    {
        return 0;
    }
    else //再帰部
    {
        return sum( N - 1 ) + 1;
    }
}
int main()
{
	cin.tie(0);
	ios::sync_with_stdio(false);

	int n;
	cin >> n;

	cout << sum(n) << endl;

	return 0;
}

再帰難しい...。
色々調べた結果、初めのうちは if (基底部)else (再帰部)
きちんと分けて書いた方が理解しやすいと書いてあったのでその様に書こうと思います。

大事なのは基底部をきちんと初めに定義してしまうこと。

再帰が理解できないと全探索以降が全て不可能となる...(ヤバい