递归
递归:自己调自己(方法或函数)的编程技术,
是程序设计中的数学归纳法。
特征:
1、调用自身
2、当调用自身的时候,目的为了解决更小的问题
3、存在某个足够简单的问题的层次,再这一层算法中不需要调用自己就可以直接解答,且返回结果
三角数字公式 = (n*n+n)/2
// triangle.java
// evaluates triangular numbers
// to run this program: C>java TriangleApp
import java.io.*;
////////////////////////////////////////////////////////////////
class TriangleApp
{
static int theNumber;
public static void main(String[] args) throws IOException
{
System.out.print("Enter a number: ");
theNumber = getInt();
int theAnswer = triangle(theNumber);
System.out.println("Triangle="+theAnswer);
} // end main()
//-------------------------------------------------------------
public static int triangle(int n)
{
if(n==1)
return 1;
else
return ( n + triangle(n-1) );
}
//-------------------------------------------------------------
public static String getString() throws IOException
{
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String s = br.readLine();
return s;
}
//-------------------------------------------------------------
public static int getInt() throws IOException
{
String s = getString();
return Integer.parseInt(s);
}
//--------------------------------------------------------------
} // end class TriangleApp
////////////////////////////////////////////////////////////////
浙公网安备 33010602011771号