求S=1+1/2+2/3+3/5+5/8……前n项的和,n要求能任意输入。
关系如下:
后一项的分子 =前一项的分母
后一项的分母 前一项的分子 + 前一项的分母
标签:Java,temp,double,sum,denominator,numerator,任意,分母,输入 From: https://blog.csdn.net/2401_86904298/article/details/144836911Scanner scanner=new Scanner(System.in);
// 获取用户输入的项数n
System.out.print("请输入项数n: ");
int n = scanner.nextInt();
double sum = 0;
double numerator = 1; // 分子
double denominator = 1; // 分母
for (int i = 1; i <= n; i++) {
//首先,将 “numerator(分子)” 除以 “denominator(分母)” 的结果累加到 “sum” 变量中。
sum += numerator / denominator;
//创建一个临时变量 “temp” 并将 “numerator” 的值赋给它。
double temp = numerator;
//,把 “numerator” 的值更新为 “denominator” 的值
numerator = denominator;
//将 “denominator” 的值更新为 “temp(原来的 numerator)” 与 “denominator” 之和。
denominator = temp + denominator;
}
System.out.println("前 " + n + " 项的和为: " + sum);
scanner.close();