学生年龄 用递归写求解

学生年龄
【题目描述】
有5个学生坐在一起 问第5个学生多少岁?他说比第4个学生大2岁。 问第4个学生岁数,他说比第3个学生大2岁。 问第3个学生,又说比第2个学生大2岁。 问第2个学生,说比第1个学生大2岁。 最后问第1个学生,他说是x岁。(7<=x<=16) 请问第5个学生多大? 输入:一个整数x,表示第一名学生的年龄。(7<=x<=16) 输出:一个整数,表示第五个学生的年龄。 【样例输入】 10【样例输出】 18

#include <iostream>
using namespace std;

int f(int n, int x)
{
    if (n == 1) return x;
    else return (2 + f(n - 1, x));
}

int main() {
    int x, n = 5;
    cin >> x;
    if (x < 7 || x > 16)
    {
        cout <<"输入的年龄范围不正确..."<<endl;
        return -1;
    }
    cout << f(n, x) <<endl;
    return 0;
}

img