| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 457 人关注过本帖
标题:[求助]来帮下忙
只看楼主 加入收藏
fd520gs
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2005-7-21
收藏
 问题点数:0 回复次数:2 
[求助]来帮下忙
我有道作业不懂做.请大虾帮帮手!
题目:
从键盘上输入一个整数n,输出斐波纳契数列。斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如0 1 1 2 3 5 8 13 ……
有道C的样本。。。但不懂怎样修改成C#的!·。
#include <stdio.h>
int fun(int n);
main()
{
int i,n=0;
scanf("%d",&n);
for( i=0;i<n;i++)
printf("%d ", fun ( i ));
}
int fun(int n)
{
if(___1___)
return 0;
else
if(___2___)
return 1;
else
return___3___;
}
答案:
(1)n==0
(2)n==1
(3)fun(n-1)+fun(n-2)
分析:
从题意可以得知本题计算的是斐波纳契数列,斐波纳契数列的计算方法由题目得知该数列中每数等于前面两数之和,如0 1 1 2 3 5 8 13 ……,这样我们可以列出以下计算斐波纳契数列的公式:
fun(0)=0 当n=0
fun(1)=1 当n=1
fun(n)=fun(n-1)+fun(n-2) 当n>1
当n等于0的时候,即计算斐波纳契数列的第一个数字,根据题目知道该数列的第一个数字为0。
当n等于1的时候,即计算斐波纳契数列的第二个数字,根据题目知道该数列的第二个数字为1。
当n等于2的时候,即计算斐波纳契数列的第三个数字,由于该数列中每数等于前面两数之和,所以fun(2)=fun(1)+fun(0)。
当n等于3的时候,即计算斐波纳契数列的第四个数字,由于该数列中每数等于前面两数之和,所以fun(3)=fun(2)+fun(1)。
……
所以当n大于1的时候,fun(n)=fun(n-1)+fun(n-2)。
这里存在函数调用本身的现象,这种现象在程序设计中称为递归。
搜索更多相关主题的帖子: include return 键盘 样本 
2006-10-05 23:25
dhddna
Rank: 1
等 级:新手上路
帖 子:55
专家分:0
注 册:2005-9-22
收藏
得分:0 
用递归做,这个题很简单,自己好好想想吧!

要赢就赢得幸福,要输就输给追求!
2006-10-06 19:39
chenjin145
Rank: 1
等 级:禁止访问
帖 子:3922
专家分:0
注 册:2006-7-12
收藏
得分:0 

static void Main()
{
for(int i=0;i<10;i++)
{
Console.WriteLine(fun(i));
}
Console.ReadLine();
}


public static int fun(int i)
{
if(i==0) return 0;
if(i==1) return 1;
return fun(i-1)+fun(i-2);
}


[url=javascript:alert(1);] [div]fdgfdgfdg\" on\"[/div] [/url]
2006-10-07 09:58
快速回复:[求助]来帮下忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.055276 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved