
1个回答
展开全部
public class Test {
public static void main(String[] args) {
System.out.println(compute(20));
}
/**
* 对比每项,分子为前两项分子相加,分母为当前项分子加前一项分子。
* 可设想有第0项,分子为0
* @param n 要计算的项数
* @return 前 n 项相加结果
*/
public static float compute(int n){
int a1 = 0; //第0项分子
int a2 = 1; //第1项分子
float sum = 0; //结果
if (n>=1){
//第1项为1
sum += 1;
}
for (int i = 2; i <= n; i++) {
int a = a1 + a2; //分子
int b = a + a2; //分母
sum += a*1.0/b; // *1.0 是为了将结果转成浮点数
//递推
a1 = a2;
a2 = a;
}
return sum;
}
}
public static void main(String[] args) {
System.out.println(compute(20));
}
/**
* 对比每项,分子为前两项分子相加,分母为当前项分子加前一项分子。
* 可设想有第0项,分子为0
* @param n 要计算的项数
* @return 前 n 项相加结果
*/
public static float compute(int n){
int a1 = 0; //第0项分子
int a2 = 1; //第1项分子
float sum = 0; //结果
if (n>=1){
//第1项为1
sum += 1;
}
for (int i = 2; i <= n; i++) {
int a = a1 + a2; //分子
int b = a + a2; //分母
sum += a*1.0/b; // *1.0 是为了将结果转成浮点数
//递推
a1 = a2;
a2 = a;
}
return sum;
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询