Java例题_20 前20项之和!
1 /*20 【程序 20 求前 20 项之和】
2 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和。
3 程序分析:请抓住分子与分母的变化规律。
4
5 */
6
7 /*分析
8 * 前一个数的分子就是后一个数的分母
9 * 无论分子分母,第三个的值都等于第一个加第二个
10 * 一 二 三 四 五。。。。
11 * 分子 2 3 5 8 13
12 * 分母 1 2 3 5 8 13
13 * ====================
14 * 1、利用找到的规律生成分子和分母分别存入两个不同的数组S[]和M[]
15 * 2、S[0]乘以M[1]存入S[0],再将S[1]和M[1]分别乘以M[0]并分别存入S[1]和M[1],再将S[0]乘以S[1]后存入S[0],则S[0]/M[1]就是钱两项和了
16 * 3、重复以上
17 * */
18
19 package homework;
20
21 public class _20 {
22
23 public static void main(String[] args) {
24 // TODO Auto-generated method stub
25 int s[]=new int[20]; //分子
26 int m[]=new int[20]; //分母
27 //生成分子分母
28 s[0]=2; s[1]=3;
29 m[0]=1; m[1]=2;
30 for (int i = 2; i < 20; i++) {
31 s[i]=s[i-1]+s[i-2];
32 m[i]=m[i-1]+m[i-2];
33 }
34 //==============测试分子分母的值==========================
35 // for (int i = 0; i < m.length; i++) {
36 // System.out.print(s[i]+"\t");
37 // }
38 // System.out.println();
39 // for (int i = 0; i < m.length; i++) {
40 // System.out.print(m[i]+"\t");
41 // }
42 //====================================================
43
44 // =====================long类型的范围都不够===查网上发现大家都是用的小数!!!!!!
45 //分别将每一项通分后相加,并存入s[0]和m[0]中
46 // for (int i = 1; i < m.length; i++) {
47 // s[0]=s[0]*m[i]; //分子1
48 // m[0]=m[0]*m[i]; //分母
49 // s[i]=s[i]*m[0]; //分子2
50 // s[0]=s[0]+s[i]; //分子1+分子2
51 // }
52 // System.out.println("该数列前20项之和为:"+s[0]+"/"+m[0]);
53 //
54 double x=(double)s[0]/(double)m[0];
55 for (int i = 1; i < m.length; i++) {
56 x=x+(double)s[i]/(double)m[i];
57
58 }
59 System.out.printf("%.2f",x);
60
61 }
62 }
Java例题_20 前20项之和!的更多相关文章
- JAVA 基础编程练习题20 【程序 20 求前 20 项之和】
20 [程序 20 求前 20 项之和] 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前 20 项之和. 程序分析:请抓住分子与分母的变化规律. pac ...
- Java50道经典习题-程序20 求前20项之和
题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和.分析:请抓住分子与分母的变化规律.三个连续分数之间的规律是:上两个分子之和等于第三个分数的分子 ...
- 【Python3练习题 019】 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
后一个分数的分子=前一个分数的分子+分母,后一个分数的分母=前一个分数的分子,循环个20次就有结果.注意,假设分子为a,分母为b,虽然 a = a + b, 但此时a已经变成 a+b 了,所以再给b重 ...
- 码农谷 求前N项之和
题目描述 有一分数序列:2/1.3/2.5/3.8/5.13/8.21/13.......求出这个数列的前N项之和,保留两位小数. 输入描述 N 输出描述 数列前N项和 样例 输入: 输出: 16.4 ...
- 打印Fibonacci数列方法汇总(前20项,每行5个)
NO.1 迭代法 标签:通俗.易懂 思路:先打印第一项.再在循环里面执行fib=fib1+fib2,把fib2赋给fib1,把fib赋给fib2,每行5个可使用if函数(循环次数对5取余). #inc ...
- c - 2/1, 3/2, 5/3, 8/5, 13/8...前20项的和
double pres(const int n) { ; //分子. ; //分母. ; double tmp; ; i <= n; i++) { sum += (numerator / den ...
- 数列的前N项之和
时间限制: 1 Sec 内存限制: 128 MB 提交: 393 解决: 309 [提交][状态][讨论版] 题目描述 有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13.... ...
- 斐波那契数列第n项的值及前n项之和
<script>// 算法题 // 题1:斐波那契数列:1.1.2.3.5.8.13.21...// // 一.斐波那契数列第n项的值 // // 方法一//递归的写法function a ...
- 求分数序列的前n项之和
有一个分数序列 2/1,3/2,5/3,8/5,13/8,21/13,.... 求这个分数序列的前n项之和. 输入 测试数据有多组,其第一行为一个正整数k(0<k<=90),表示测试数据的 ...
随机推荐
- window.ShadyCSS
window.ShadyCSS Web Components # install $ yarn add @webcomponents/shadycss@1.7.1 # OR $ npm i @webc ...
- Redis 大 key 问题 & 问题分析 & 解决方案
Redis 大 key 问题 & 问题分析 & 解决方案 Redis 什么是 Redis 大 key 单个key 存储的 value 很大 hash, set,zset,list 结构 ...
- CI / CD in Action
CI / CD in Action Continuous Integration (CI) & Continuous Delivery (CD) https://github.com/mark ...
- Taro Next
Taro Next Taro 2.0 https://aotu.io/notes/2020/02/03/taro-next-alpha/index.html Taro Next 的迁移指南 https ...
- svg insert shape string bug
svg insert shape string bug not support custom areaProps attributes ??? const svg = document.querySe ...
- Python数据结构与算法_删除排序数组中的重复项(06)
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成. ...
- npm与package.json快速入门
本文转载自npm与package.json快速入门 导语 npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解了一些,这次结合官方文章总结一下,加深下理解吧! 读完本 ...
- MFC多文档程序启动无子窗口的实现
刚学MFC的我们,肯定会从一个基本MFC程序开始. 而VC++6.0的MFC基础类提供了三种创建方式:单文档.多文档.对话框. 当我们创建多文档应用程序的时候,会自动启动一个子窗口. 在我们平时使用软 ...
- Linux文本三剑客总结
Linux文本处理三剑客 grep 文本过滤(模式:pattern)工具 grep, egrep, fgrep(不支持正则表达式搜索) grep grep: Global search REgula ...
- 【Azure Redis 缓存】Azure Redis 功能性讨论二
继承上一次讨论了Azure Redis的可用性,可靠性,稳定性,安全性,监控方面的九大功能点.详情可回顾文章:[Azure Redis 缓存]Azure Redis功能性讨论 这次我们继续讨论Azur ...