题目描述:
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
解答:
数据量也不大,盲猜应该在60岁之前,就让i=1循环到60,每次循环都从当前的i开始,往后依次加上年龄数,若在某岁数目==236,那么就找到了,返回i即可,若是大于236还没有找到,说明当前i不是合适的解,continue,继续下一个循环
代码:
#include<iostream>
using namespace std;
int main()
{
int sum=0;
for(int i=1;i<=60;i++)
{
sum+=i;
if(sum>=236)
{
int tempsum=sum;
for(int j=1;j<=i;j++)
{
tempsum-=j;
cout<<"tempsum is "<<tempsum<<endl;
if(tempsum==236)
{
cout<<"j is "<<j<<" i is "<<i<<endl;
return 0;
}
}
}
cout<<"i is "<<i<<" sum is "<<sum<<endl;
}
return 0;
}
答案:
25