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),表示测试数据的 ...
随机推荐
- javascript change array length methods
javascript change array length methods Array 改变数组长度的方法 push, pop shift, unshift, splice, fill, 不改变数组 ...
- Node.js Learning Paths
Node.js Learning Paths Node.js in Action Node.js Expert situations / scenario Restful API OAuth 2.0 ...
- H5 APP 页面移动端适配方案
H5 APP 页面移动端适配方案 https://segmentfault.com/a/1190000011586301 https://juejin.im/post/5cbdee71f265da03 ...
- taro defaultProps
taro defaultProps https://nervjs.github.io/taro/docs/best-practice.html#给组件设置-defaultprops import Ta ...
- 「NGK每日快讯」2021.1.15日NGK公链第73期官方快讯!
- webpack理解
打包工具 可以将多个静态文件打包成一个静态文件例如将1.js.2.js.3.css打包成h.js一个静态文件 这样做的好处是:可以减少页面的请求次数 以往是请求多个静态页面,使用webpack后会减少 ...
- FTPClient类的API
org.apache.commons.NET.ftp Class FTPClient类FTPClient java.lang.Object java.lang.Object继承 org.apache. ...
- 基于ros2 dashing的建图导航探索
基于ros2 dashing的建图导航探索 1. 环境准备 安装ros2 dashing, 参考链接: https://index.ros.org/doc/ros2/Installation/Dash ...
- 更换 grub 主题
默认的 grub 界面比较简陋 然后突然有想法了,想换个主题 具体操作 1.下载 grub 主题包 去这个地址下载主题(应该是这个地址): https://www.gnome-look.org/bro ...
- linux开启FTP服务
目录 打开FTP服务 客户端链接时会出现的问题 打开FTP服务 先ping,查看网络是否联通 打开ssh服务 查看一些服务的状态 #查看ssh状态 service sshd status #防火墙的状 ...