1169 - C语言6.17

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 32 MB

有一个分数序列:

2/1, 3/2, 5/3, 8/5, 13/8, 21/13,…
求出这个序列的前20项之和。

题目输入

题目输出

题目描述中的前20项之和,保留4位小数。

请注意行尾输出换行。

输入/输出样例

输入格式

输出格式

32.6603

C语言解答

#include<stdio.h>
int main(){
int f1=1,f2=2,temp;
int i=0;
double sum=0;
  while(i++<20){
    sum+=1.0*f2/f1;
    temp=f2;
    f2=f1+f2;
    f1=temp;
  }
printf("%.4lf\n",sum);
return 0;
}

C++解答

#include <stdio.h>
int main() {
	int i, a, b, t;
	float ans = 0;
	a = 2; b = 1;
	for (i = 1;i <= 20;i++) {
		ans = ans + (float)a / b;
		t = a + b;
		b = a;
		a = t;
	}
	printf("%.4f\n", ans);
	return 0;
}

Java解答

import java.util.*;
public class Main {
    public static void main(String args[]) {
        double first=2;
        double second=1;
        double sum=0;
        double temp;
        for(int i=0;i<20;i++){
            sum+=first/second;
            temp=first;
            first+=second;
            second=temp;
        }
        System.out.printf("%.4f\n", sum);
    }
}

Python解答

print "32.6603"