题目描述:
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
题目分析:
类似于求累加之和,于是将原本的累加递归函数稍作修改,可得到:
#include<iostream>
using namespace std;
int f(int s,int e);
int main(){
int i = 1;
int j=i;
while(j<236)
{
if(f(i,j) == 236)
break;
else if(f(i,j) < 236)
j++;
else
i++;
}
cout<<i;
return 0;
}
int f(int s,int e)
{
if(s > e)
return 0;
if(s == e)
return s;
else
return e+f(s,e-1);
}