思路:
这个题目和前面的阶乘相加有相似之处,都需要用中间变量来进行存放数据 我们还写出来这个题目的前几个式子,以便我们找出规律
`8*10^0
8*10^0+8*10^1
8*10^0+8*10^1+8*10^2
......`
从这三个式子我们可以看出来,第二个式子的第一项是第一个式子,第三个式子的前两项是第二个式子 ,也就是说第n个式子(这个式子有m项),前面的m-1项是上一个式子,这样我们还可以用中间变量加for循环的方法来实现这个计算。 代码实现:
package com.java_03; /* 需求: 编写应用程序,使用for循环语句计算8+88+888+...前十项之和 思路: 这里和前面的求阶乘之和有相似之处 8 8+8*10 8+8*10+8*10*10 ... */ public class Test04_5 { public static void main(String[] args) { //定义中间变量midnum,中间求和变量sum,初始值num,最终结果endnum double midnum = 0; double midsum = 0; double num = 8; double endnum = 0; //for循环 for(int x=0; x<10; x++) { //Math.pow(底数,指数),求次方 midnum = num*(Math.pow(10,x)); sum = sum + midnum; endnum +=sum; } System.out.println(sum); } }
Math包含用于执行基本的数字运算等基本指数、对数、平方根法、三角函数。 我们可以直接调用Math里的pow函数来实现求次方的功能。 Math.pow(double a, double b) :返回a^b,也就是a的b次方