生日蜡烛求解(java)运用数学思维

本文介绍了一种数学问题求解方法,通过设定每年生日派对吹熄的蜡烛数与年龄相同,计算累计到236根蜡烛的起始年龄。通过编程实现,利用嵌套循环寻找符合条件的年龄起点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

某君从某年开始每年都举办一次生日party,并且每次都要吹熄与年龄相同根数的蜡烛。

现在算起来,他一共吹熄了236根蜡烛。

请问,他从多少岁开始过生日party的?

请填写他开始过生日party的年龄数。
注意:你提交的应该是一个整数,不要填写任何多余的内容或说明性文字。

首先看到问题的第一眼,会想到数学当中的,设x岁开始进行吹蜡烛,每一年都在上一年的基础进行+1即 x  x+1   x+2   x+3  x+4   ..... x+n,求前n项和,然后将236代入进行求解。

解题思路:1、我们就设x,还有一个总和的变量。即总的蜡烛求和量

2 x=i+j, 这其中的i为我们实际上的x岁,j为每一年蜡烛的增加量。首先我们并不知道从哪一岁开始吹蜡烛,所以运用数学思维的话,我们要一个个去试,转化成代码的语言就是我们从1到一个确定的数之间进行循环来求出最后的岁数。(这边用1-100岁)。

3转化为java语言,应用for循环的嵌套,首先最外层for循环,i从1开始一直到100,内层for循环,j从1到100.第一次的循环为从1岁开始吹蜡烛,以此类推,从两岁三岁,一直到100岁。每一次循环sum+=x

4、进行判断条件,用if语句,条件为sum总和等于236

如果蜡烛总和刚好等于236,那么输出i,退出循环 即就是我们前面假设的x,从x岁开始吹蜡烛。

如果大于236,则直接退出,因为当大于236时,输出 的i即x岁也不是我们想要的结果。

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
        for(int i=1;i<100;i++){//设x岁开始吹蜡烛
        	int sum=0;//x=i+i,设置一个总和的变量  x+1 x+2 x+3 x+4 x+5
  		     int x=0;//设置x
        	for(int j=1;j<100;j++) {
        	   x=i+j;  //设置两个循环进行测试,i和j都从1开始进行
        	   sum=x+sum;
        	   if(sum==236) {
              	 System.out.println(i);//如果sum=236
              	 break;//则输出当i等于多少时才等于236。即上述理论中的x,退出循环
               }
        	   else if (sum > 236) {
                   break;//如果大于236,则退出循环
               }
           }
 
       }
     }
   }
	

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值