【荷花定律】java解法荷花总数一半具体多少天java求法分享

mac2024-03-17  39

【荷花定律】荷花总数一半具体多少天求法分享

一个池塘有少许的荷花,第二天荷花的数量是第一天的两倍,求第30天时荷花总数的一半是多少天?

以下是个人的一种解法,如有问题求大神们多加提点

//用double类型精度会准确一些,如果int类型中途会出现一个转化的过程损失精度 double[] arr=new double[30]; //起始值这里可以随便设置,可以多设置几个不同的值,以便验证结果 arr[0]=30; double sum=0; double count=arr[0]; //根据所得规律计算30天荷花数目的总和 for (int i = 1; i < arr.length; i++) { arr[i]=2*arr[i-1]; sum+=arr[i]; } //获取荷花一半的数目以便后续比对 double a=sum/2; //把每天的数目进行累加,比对看哪一天的数目等于荷花总数的一半 for (int i = 1; i < arr.length; i++) { count+=arr[i]; if(count==a){ System.out.println("荷花总数的一半是"+(i+1)+"天"); } }
最新回复(0)