求出分数序列:2/1,3/2,5/3,8/5,13/8,21/13...的前20项之和
2008-05-07 00:35
330 查看
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
/** *//**
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* FractionSerial.java
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 求出这个数列的前20项之和。
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* @author 邓超(CodingMouse)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* @version 0.2 2008-5-4
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 开发/测试环境:jdk1.6 + eclipse SDK 3.3.2
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedBlock.gif)
public class FractionSerial ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
public static void main(String[] args) ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
/**//*
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 注意:参与数列项运算的变量必须声明为double类型
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 才能得到正确答案:32.66026079864164 ;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 如果声明为int类型,在进行计算时各数列项的
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 值会发生自动类型转换,各项均从double类型
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 转换成int类型,所以会丢失精度,导致计算结
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
* 果是一个错误答案:21。
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
*/
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//计算该数列的前num项
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
int num = 20;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//保存前num项之和
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
double sum = 0;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//x为分子,y为分母
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
double x = 2 , y = 1;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//用于交换值的中间变量
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
double temp;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//控制台输入提示
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.println("该数列前" + num + "项内容为: ");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//循环处理生成的数列每一项
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
for(int i = 1 ; i <= num ; i++) ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//打印出数列前num项内容
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.print((int)x + "/" + (int)y);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//在指定项数的非末尾项后打印逗号以分隔各项
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockStart.gif)
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ContractedSubBlock.gif)
if (i != num) ...{
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.print(", ");
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//累加保存数列前i项的和值
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
sum += x / y;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//中间变量temp保存当前分子值
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
temp = x;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//x值赋为当前分子值与当前分母值之和,构成数列下一项的分子
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
x += y;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//y值赋为中间变量temp的值,即当前项分子为数列下一项的分母
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
y = temp;
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
//控制台输出计算信息
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/InBlock.gif)
System.out.print(" 以上各项之和为:"+sum);
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedSubBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/ExpandedBlockEnd.gif)
}
![](http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif)
相关文章推荐
- Console-算法-有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 习题 5.10 有一个分数序列2/1, 3/2, 5/3, 8/5, 13/8, 21/13, ...求出这个数列的前20项之和。
- 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。(java)
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
- C100-24 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13,.......,求这个数列的前20项之和
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13……求出这个数列的前20项之和。
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 5.有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
- 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和
- 【程序20】 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13... 求出这个数列的前20项之和。