6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少?java实现

时间:2014-06-07 16:11:25   收藏:0   阅读:195


6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少?


10 = 6 + 4         4
18 = 10 + 8        4 + 4 
32 = 18 + 14       8 + 6
? = 32 + 22       14 + 8
? = 54 + 32       22 + 10
? = 86 + 44       32 + 12
分析特点就是
f(x) = f(x-1)+ M;
其中M又是可递归的


4 8 14 22


f(N)=f(N-1)+2*N


f(1) = 4
f(2) = 8
f(3) = 14
f(4) = 22


F(X) = F(X - 1) + F(Y)
F(Y) = F(Y - 1) + 2*Y


F(X) = F(X - 1) + F(Y - 1)+ 2*Y



package com.susheng.practice;

public class RecursionTest
{
	public static void main(String[] args)
	{
		RecurverTest0 rt0 = new RecurverTest0();
		
		for (int i = 1; i < 100; i++)
		{
			System.out.println(rt0.M(i));
		}
	
	} 
}
class RecurverTest0
{
	//二层递归的函数
	private int F(int N)
	{
	  //负数不保证
	  if(0 >= N)
	    return 0;		
	  if (1 == N)
	    return 4;

	  return(F(N-1)+ 2*N);
	}
	//调用M(N)就可以求出N位置的值
	public int M(int N)
	{
	  //负数不保证
	  if(0 >= N)
		  return 0;
	  if(1 == N)
	    return 6;
	  return M(N - 1) + F(N - 1); 
	}	
}


	
}


6 10 18 32 下一个数?编程实现输入任意一个N位置,该数是多少?java实现,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!