大虾们帮小样看道题 有一分数序列:2/1 ,3/2 ,5/3 ,8/5 ,13/8 , 21/13...输出这个数列的前20项,并求出它们的和。我想知道你们具体是怎么做的,比如怎么去找这个数列的规律,像以后遇到这种类型的问题该怎么解决。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 分子是2 3 5 8 13 21 就是斐波那契数列的一部分 a(n)=a(n-1)+a(n-2)分母是1 2 3 5 8 13 也是斐波那契数列的一部分 分子 a=2分母 b=1项an = a/bsum=an;for(1..20){temp =a;a=a+b;b=temp;an=a/b;sum=sum+an;}寻找序列的规律。 1,2楼正确 double sum = 0.0; double fenmu=1.0, fenzi = 1.0, tmp; for(int i=0; i<n; i++) { tmp = fenzi; fenzi = fenmu + fenzi; fenmu = tmp; sum += fenzi / fenmu; } return sum; public class Fibonacci { static int fibonacci(int n) { if (n <= 1) return 1; return fibonacci(n - 1) + fibonacci(n - 2); } public static void main(String[] args) { double sum = 0.0; for (int i = 1; i <= 20; i++) { double a=fibonacci(i); double b=fibonacci(i+1); sum+=b/a; System.out.println(b/a); } System.out.println("sum="+sum); }} 可以用递归做这个题目/** * 求数列1.1.2.3.5.8...通项(第n+2项目)是多少 * @param n 第n+2项 * @return */ public static int an(int n){ int a=1,b=1,temp=0; for(int i=0;i<n;i++) { temp=b; b=a+b; a=temp; } return b;}/** * 递归求数列2/1,3/2 5/3.的前n项和. * @param a 分子 * @param b 分母 * @return 数列和 */public static double sum(double a,double b){ if(a==2) { return 2; } else { return sum(b,a-b)+a/b; }}public static void main(String[] args){ System.out.println(sum(an(20),an(19));} struts2 问题 菜鸟求助。。正则表达式不会用啊,请高手指点。。 采用GB 13000的UCS-2进行存储的文本读取乱码 从2007年5月31日开始 循环显示每个月的31日,循环10次,高手们有没有好办法 这个for语句怎么理解? 求助!关于双系统的安装 小问题,大麻烦 nextWord 是 怎么用的??? 简单的问题!但我不会!! 请详细介绍一下JTree的使用方法,88分奉送...................... 急求解答! REQUEST.GETATRRIBUTE的错误
分母是1 2 3 5 8 13 也是斐波那契数列的一部分
分母 b=1
项an = a/bsum=an;
for(1..20){
temp =a;
a=a+b;
b=temp;
an=a/b;
sum=sum+an;}寻找序列的规律。
double fenmu=1.0, fenzi = 1.0, tmp;
for(int i=0; i<n; i++)
{
tmp = fenzi;
fenzi = fenmu + fenzi;
fenmu = tmp;
sum += fenzi / fenmu;
}
return sum;
public class Fibonacci {
static int fibonacci(int n) {
if (n <= 1)
return 1;
return fibonacci(n - 1) + fibonacci(n - 2); }
public static void main(String[] args) {
double sum = 0.0;
for (int i = 1; i <= 20; i++) {
double a=fibonacci(i);
double b=fibonacci(i+1);
sum+=b/a;
System.out.println(b/a);
}
System.out.println("sum="+sum);
}
}
/**
* 求数列1.1.2.3.5.8...通项(第n+2项目)是多少
* @param n 第n+2项
* @return
*/
public static int an(int n)
{
int a=1,b=1,temp=0;
for(int i=0;i<n;i++)
{
temp=b;
b=a+b;
a=temp;
}
return b;
}/**
* 递归求数列2/1,3/2 5/3.的前n项和.
* @param a 分子
* @param b 分母
* @return 数列和
*/
public static double sum(double a,double b)
{
if(a==2)
{
return 2;
}
else
{
return sum(b,a-b)+a/b;
}
}public static void main(String[] args)
{
System.out.println(sum(an(20),an(19));
}