
JAVA;.题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
/*从题目中可以看出分子分母是一个fibonacci数列
*这就好办了
*给分吧
*by Herim
*/
public class Test {
public static void main(String[] args) {
System.out.println(add(20));
}
//求斐波那契(fibonacci)数列
public static double fibonacci(int pos) {
if(pos==1||pos==2) {
return 1;
}
else {
return fibonacci(pos-1)+fibonacci(pos-2);
}
}
//求和
public static double add(int i) {
String output ="";
double sum = 0;
int j = i+2;
for(i=3;i<=j;i++) {
sum += fibonacci(i)/fibonacci(i-1); //求和
output += (int)fibonacci(i)+"/"+(int)fibonacci(i-1)+ "+";//输出控制表达式
}
System.out.println(output.substring(0, output.length()-1)+ "=");//打印表达式
return sum;
}
}
/* 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13......
求出这个 数列的前20之和* */
double x=2,y=1,t;
double sum = 0;
for(int i=1;i<=20;i++){
sum=sum+(double)x/y;
System.out.println(x+"/"+y+"="+(double)(x/y)+"\t");
t=y;
y=x;
x=t+y;
}
// System.out.print(x+"/"+y+"\t");
System.out.println("前二十项和是:"+(double)sum);
}
}
sn=n+(1+2+3+....n)/(1*2*3.....*n)
=n+(1+n)/2(n-1)!
s20=20+(1+20)/2(19)!
程序我不会了
void add(int k)
{
int i=1;
double sum=0;
for(int j=0;j<20;j++)
{
sum+=(i+1)*1.0/i;
i++;
}
System.out.println(sum);
}
public static void main(String[] args)
{
AddTest t=new AddTest();
t.add(1);
}
}