题目:
生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
思路:数组 as[i] = 1+2+…+i, 存放从1岁到i岁的和。 从i到j区间的和就等于: as[j]-as[i-1]。
代码:
// 生日蜡烛
#include <bits/stdc++.h>
using namespace std;
int main()
{
int as[151];
as[0]=0;as[1]=1;
for(int i=2;i!=151;++i) {
as[i] = as[i-1]+i;
}
for(int i=1;i<151;++i) {
for(int j=i+1;j<151;++j) {
if(as[j]-as[i-1]==236) {
cout << i << endl;
return 0;
}
}
}
return 0;
}