学曲谱,请上曲谱自学网!

java递归算法

时间:2019-02-03 13:17:38编辑:刘牛来源:曲谱自学网

概括:这道题是国拐拥同学的课后练习题,主要是关于java递归算法,指导老师为卓老师。

题目:java递归算法

解:

#include

int GetFibonacci(int n)

{

if (n == 1 || n == 2) return 1;

else return GetFibonacci(n-1)+GetFibonacci(n-2);

}

void main()

{

int n;

scanf("%d",&n);

for (int i = 1; i

举一反三

例1: 【java程实现Fibonacci数列.Fibonacci数列的定义为:F1=1,F2=1,…Fn=Fn-1+Fn-2(n>】


思路提示:

import java.util.ArrayList;

import java.util.List;

public class Fibonacci {

public static void main(String[] args) {

List list = new ArrayList();

int num = 15;

for(int i = 1; i

例2: 【Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1.当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少.输入格式输入包含一个整数n.输出格式输出一行,包含一个整数,表示Fn除以10007】


思路提示:

//用的递归的算法!

import java.util.Scanner;public class Main {

public static void main(String[] args)

{

Scanner s=new Scanner(System.in);

int n=s.nextInt();

int sum=F(n);

System.out.print(sum%10007);

}

public static int F(int n)

{

if(n==1||n==2)

{

return 1;

}

else

{

return F(n-1)+F(n-2);

}

}

}

这样写.你复制再提交,会告诉你运行超时的.

例3: 分别用递归和非递归方法求取Fibonacci数列.


思路提示:

//fibonacci数列:1 1 2 3 5 8 13 21 34 55...

#include

double fib_val[100]={0};

double fibonacci_1(int n)//递归,计算时间长,n最好不超过30

{

if(n

例4: C语言:采用递归调用函数方法计算Fibonacci数列的前20项


思路提示:

#include

#define N 20

main(){

int f(int n);

int i;

for(i=1;i

例5: 【菲波那契(Fibonacci)数列的第一项是0,第二项是l,以后各项都是前两项的和,试用递归算法和非递归算法各编】[数学练习题]


思路提示:

首先 你得注意 如果你求的斐波那契数的第几项项数较大 就需用到高精度

以下程序仅适用于“无需高精度”的情况:

此为递归算法:

#include

using namespace std;

int work(int x)

{

if(x==1)return 0;

else if(x==2)return 1;

else return work(x-1)+work(x-2);

}

int main(void)

{

int i;

cin>>i;

couti;

a[1]=0;a[2]=1;

for(j=3;j

相关思考练习题:

题1:java中递归算法是什么怎么算的?

点拨:一、递归算法基本思路: Java递归算法是基于Java语言实现的递归算法。递归算法是一种直接或者间接调用自身函数或者方法的算法。递归算法实质是把问题分解成规模缩小的同类问题的子问题,然后递归调用方法表示问题的解。递归往往能给我们带来非常...

题2:(Java 递归实现)一列数据的规则如下:1、1、2、3、...

点拨:public class DiGui{ public static void main(String[] args){ System.out.println(fib(30)); } public static int fib(int n) {if (n == 1 || n == 2) {return 1;} else {return fib(n - 1) + fib(n - 2);}}}

题3:java递归算法的例子?

点拨:十进制整数转二进制字符串的递归写法: public String dtob(int n) { if (n == 0 || n == 1) { return Integer.toString(n); } else { return dtob(n / 2) + Integer.toString(n % 2); } }

题4:用java递归算法求一个数字的阶乘

点拨:用递归算法求一个数字的阶乘的程序如下: public class JieCheng { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("请输入一个整数:"); int n = in.nextInt(); System.out.println(n+"!="+...

题5:java 请用 递归 实现 1 至 100 的和

点拨:public class Test { public static void main(String[] args) { System.out.println(dg(100)); } static int dg(int i) { int sum; if (i == 1) return 1; else sum = i + dg(i - 1); return sum; } }

商务舱

亚马逊森林

热门曲谱

Copyright © 2014-2019 曲谱大全(www.qpzxw.com)曲谱自学网版权所有 备案号:皖ICP备2021004734号-1

版权声明:曲谱网所有曲谱及资料均为作者提供或网友推荐收集整理而来,仅供爱好者学习和研究使用,版权归原作者所有。

联系邮箱:qupudaquanhezuo@gmail.com