
递归-A-三角数字
发布日期:2021-05-16 15:22:32
浏览次数:17
分类:精选文章
本文共 1145 字,大约阅读时间需要 3 分钟。
package f_recursion.A_Triangle;
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;
public class Trangle {
private static int theNumber;public static void main(String[] args) throws NumberFormatException, IOException { theNumber = getInt(); int theAnswer = triangle(theNumber); System.out.println(theAnswer);}private static int triangle(int number) { if (number == 1) { return 1; } else { return number + triangle(number - 1); }}private static int getInt() throws NumberFormatException, IOException { return Integer.parseInt(getString());}private static String getString() throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); return br.readLine();}
}
这是一个实现三角形数字递归计算的Java程序。三角形数字公式为(n² + n)/2。以下是程序的主要功能解释:
主类Trangle包含一个静态变量theNumber,用来存储输入的数字值。
main方法用于读取输入并调用递归计算三角形数字的函数triangle。
triangle方法是一个递归函数,根据三角形数字公式(n² + n)/2返回结果。当输入为1时返回1,否则返回当前数值加上递归调用该方法减1的结果。
getInt方法用于读取用户输入并转换为整数。
getString方法使用BufferedReader读取标准输入。
这个项目采用了递归算法来实现三角形数字的计算,但需要注意的是,递归算法在处理较大数值时可能会导致栈溢出。此外,为了进一步提升性能和稳定性,可以考虑将递归改写为迭代算法。
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2025年05月02日 08时14分55秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Python IO编程
2019-03-06
CSS入门总结
2019-03-06
使用 TortoiseGit 时,报 Access denied 错误
2019-03-06
基于 HTML5 WebGL 的污水处理厂泵站自控系统
2019-03-06
c++之程序流程控制
2019-03-06
spring-boot-2.0.3之redis缓存实现,不是你想的那样哦!
2019-03-06
有道云笔记 同步到我的博客园
2019-03-06
李笑来必读书籍整理
2019-03-06
Hadoop(十六)之使用Combiner优化MapReduce
2019-03-06
《机器学习Python实现_10_06_集成学习_boosting_gbdt分类实现》
2019-03-06
CoreCLR源码探索(八) JIT的工作原理(详解篇)
2019-03-06
C语言编译错误列表
2019-03-07
看明白这两种情况,才敢说自己懂跨链! | 喵懂区块链24期
2019-03-07
python中列表 元组 字典 集合的区别
2019-03-07
Android DEX加固方案与原理
2019-03-07
iOS_Runtime3_动态添加方法
2019-03-07
Leetcode第557题---翻转字符串中的单词
2019-03-07
Problem G. The Stones Game【取石子博弈 & 思维】
2019-03-07
Java多线程
2019-03-07