Java-计算8+88+888+......前十项之和

思路:

这个题目和前面的阶乘相加有相似之处,都需要用中间变量来进行存放数据 我们还写出来这个题目的前几个式子,以便我们找出规律

`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); } }

 

 

更新递归操作

package com.it_01; public class Test3 { private static long sum=8; public static void main(String[] args) { f(10); System.out.println(sum); } public static long f(int n) { //递归出口 if(n==1) { return 8; } else { sum=sum+f(n-1)*10+8; return f(n-1)*10+8; } } }

Math包含用于执行基本的数字运算等基本指数、对数、平方根法、三角函数。 我们可以直接调用Math里的pow函数来实现求次方的功能。 Math.pow(double a, double b) :返回a^b,也就是a的b次方


__EOF__

本文作者lnnau
本文链接https://www.cnblogs.com/wlunan/p/15346161.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Lnnau  阅读(1352)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示