题目:
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
思路:不知道某君先生现在多大,假装129,先从前往后遍历得到从1岁至n岁的蜡烛数,再从后往前无脑地减,得到236就跳出来。
ans: 26
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int a[130];
int main()
{
memset(a,0,sizeof(a));
for(int i=1;i<130;i++)
{
a[i]=a[i-1]+i;
}
for(int i=129;i>0;i--)
{
int ans=a[i];
for(int j=i-1;j>0;j--)
{
ans=a[i]-a[j]+j; // pay attention to the "j"
if(ans==236)
{
cout<<j<<endl;
return 0;
}
}
}
return 0;
}