ch6 递归 --三角数

原创 2012年03月30日 11:26:16

第n项由第n -1项  加上n得到, 第一项 为1 ,第二项为 2 加上第一项 ,即 2+1 = 3 ,第三项为 3+ 第二项 ,即 3+ 3 = 6,以此类推       

         第一個三角數是:1         

  第二個三角數是: 3

  第三個三角數是:6

  第四個三角數是:10

  第五個三角數是:15

 

计算公式:

第n个三角数: (n*n +n) /2

 

TriangleApp.java

 

package com.ch6.triangle;

import java.io.BufferedReader; import java.io.IOException; import com.util.Common; import java.io.InputStreamReader; public class TriangleApp {

 public static int triangle(int n) {   if (n == 1) {    System.out.println("Returned 1 .") ;    return 1;   } else {    int temp = n + triangle(n -1) ; //递归    System.out.println("Returning : " + temp);    return temp ;   }  }

 /**   * @param args   */  public static void main(String[] args) throws IOException {   while (true) {    System.out.println("Enter a number: ");    int in = Common.getInt();    int theAnswer = triangle(in);    System.out.println("Triangle: " + theAnswer);   }  }

}

 Common.java     package com.util;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class Common {    public static String getString() throws IOException {  InputStreamReader isr = new InputStreamReader(System.in);   BufferedReader br = new BufferedReader(isr);   return br.readLine();  } public static int getInt() throws IOException {   String in = getString();   return Integer.parseInt(in);  } }

 


结果:

Enter a number:
5
Returned 1 .
Returning : 3
Returning : 6
Returning : 10
Returning : 15
Triangle: 15
Enter a number:
10
Returned 1 .
Returning : 3
Returning : 6
Returning : 10
Returning : 15
Returning : 21
Returning : 28
Returning : 36
Returning : 45
Returning : 55
Triangle: 55
Enter a number:

蓝桥杯 三角螺旋阵 递归

方阵的主对角线之上称为“上三角”。 请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3….的自然数列,从左上角开始,按照顺时针方向螺旋填充。 例如:当n=3时,输出: ...
  • wr132
  • wr132
  • 2015年03月24日 17:00
  • 1009

凸多边形三角划分 catelan数

凸多边形三角划分 在一个凸多边形中,通过若干条互不相交的对角线,把这个多边形划分成了若干个三角形。任务是键盘上输入凸多边形的边数n,求不同划分的方案数f(n)。比如当n=6时,f(6)=14...
  • update7
  • update7
  • 2017年03月13日 18:28
  • 1353

数字三角形——递归求解

一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路 径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。任务就是求 出最佳路径上的数字之和。 注意:路径上的每一步只能从...
  • poison_biti
  • poison_biti
  • 2016年07月06日 13:19
  • 993

用递归解决蛇形填数的问题

题目:来自南阳理工学院oj      本文提出一种递归的方法,可供参考。      我们分析一下这个蛇形矩阵的形成过程:先由右侧起第一列由上到下填写(矩阵元素数字递增),到达规定的个数后,自右向左填写...
  • qq_34241037
  • qq_34241037
  • 2017年08月02日 08:23
  • 115

10343 划分凸多边形(必做)

10343 划分凸多边形(必做) 时间限制:1000MS  内存限制:65535K提交次数:0 通过次数:0 题型: 编程题   语言: C++;C Description 问题描述:一个...
  • DannyYo_SCAU
  • DannyYo_SCAU
  • 2015年04月19日 12:26
  • 1144

三角网格数据结构-2

基本Mesh结构   上篇文章讲述了一般的基本的Mesh应该至少包含点集和三角形集合的信息,也就是类似如下的定义方式: struct Point3d { public: flo...
  • wozhengtao
  • wozhengtao
  • 2016年05月17日 01:05
  • 1866

java求杨辉三角(帕斯卡三角形)

源程序揭秘杨辉三角形性质: 每行数字左右对称,由 1 开始逐渐变大,然后变小,回到 1。 第 n 行的数字个数为 n 个。 第 n 行数字和为 2^(n-1) 。 每个数字等于上一行的左右两个数字之和...
  • zhangchen124
  • zhangchen124
  • 2017年07月08日 17:34
  • 1039

贪心法__动态规划-数塔问题

贪心法,是一种在每一部选择中都采取在当前状态下最好或最优的选择,从而获得最优解的算法。一种直观的解释就是『一直向前!』。贪心法可以解决一部分常见算法问题,比如最小生成树、哈弗曼编码等,并且如果一个问题...
  • qq_30043465
  • qq_30043465
  • 2016年07月09日 21:09
  • 737

分形 递归打印之神奇三角形

上次做过几乎一样的题,然而到校赛上就懵逼了.特发此博客,以此哀悼 题意是打印三角形,且最后无空格 上代码: #include #include #include #include #includ...
  • icodeajk
  • icodeajk
  • 2016年03月28日 22:26
  • 871

蛇形三角填数

描述跟蛇形填数一样,只是填数要求按照三角形填。注意每组数据之间用空行隔开输入第一行有一个N,表示N组测试数据 接下来每组数据包括一个数字X,表示三角形的边长,0< X ...
  • gao_ben_15
  • gao_ben_15
  • 2017年06月19日 21:04
  • 163
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ch6 递归 --三角数
举报原因:
原因补充:

(最多只允许输入30个字)