题目:
1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数。
它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。但是,它发散的很慢:
前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0
那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?
请填写这个整数。
注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。
答案:
//1835421
import java.util.Scanner; public class Main{ public static void main(String[] args){ double sum=0; double i=0; while(true){ i++; sum+=1/i; // if(sum>2){ // System.out.println((int)i); // return; // } // if(sum>5){ // System.out.println((int)i); // return; // } if(sum>=15){ System.out.println((int)i); return; } } } }
分析:首先计算数据为小数,所以涉及到计算的变量都注意需要使用double型,利用题目中的两个测试数据分析代码的正确性。
总结:计算的时候尽可能的保证变量的精度一致,否则容易出现错误。