题目叙述:
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
思路:设从x开始过生日party。直到现在y岁 那么中间的蜡烛数位 z = y(y+1)/2(从一岁开始过生日算起) - (x-1)(x-1+1)/2 (从之前没有用的蜡烛的数量) 当z==236时即可得到x和y的值,因此用枚举更为合适。设能到的最大年岁为200.
代码:
#include<iostream>
using namespace std;
int main()
{
for(int i=0;i<200;i++)
{
for(int j=0;j<200;j++)
{
if((i*(i+1)/2-j*(j-1)/2)==236)
{
//cout<<j<<" "<<i<<endl;
cout<<j<<endl;
break;
}
}
}
return 0;
}