生日蜡烛
某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。
现在算起来,他一共吹熄了236根蜡烛。
请问,他从多少岁开始过生日party的?
请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。
解题思路:通过题意可知,我们知道要想知道某君多少岁过生日,需要使用假设试数法,假设某君是从1岁开始过生日(即age=1),随着年龄增长,原先蜡烛总数也在减少,只要最后结果是0,那么我们找到了年龄,如果蜡烛最后的结果是负数,那么这不是我们要寻找的答案,就年龄自增继续试数,直到最后结果剩余蜡烛数是零即可
package com.lanqiao.seven.Test;
public class Demo02 {
public static void main(String[] args) {
int j=236;//蜡烛总数
int temp=j;//赋予临时值
int age=1;//初始年龄
test1:while(true)
{
for(int i=age;;i++)
{
temp-=i;
if(temp<0)
{
//如果蜡烛变为负数,那么不符合题意,就需要将初始蜡烛值23赋值给temp,
//同时年龄自增继续试数。
temp=j;
age++;
continue test1;
}else if(temp==0)
{
//如果蜡烛值正好是0,那么我们找到了年龄值需要跳出while循环并输出结果
break test1;
}
}
}
System.out.println(age);
}
}
结果是:26