java趣味编程.docx

上传人:小飞机 文档编号:3159789 上传时间:2023-03-11 格式:DOCX 页数:4 大小:37.97KB
返回 下载 相关 举报
java趣味编程.docx_第1页
第1页 / 共4页
java趣味编程.docx_第2页
第2页 / 共4页
java趣味编程.docx_第3页
第3页 / 共4页
java趣味编程.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《java趣味编程.docx》由会员分享,可在线阅读,更多相关《java趣味编程.docx(4页珍藏版)》请在三一办公上搜索。

1、java趣味编程趣味编程题 题目1:输出9*9口诀。 题目2:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13.求出这个数列的前20项之和。 题目3:一个数如果恰好等于它的因子之和,这个数就称为完数。例如6=123.编程找出1000以内的所有完数。 题目4:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 题目5:海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子

2、把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 题目6:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? 趣味编程题解: 一、输出9*9的口诀。 程序分析:分行与列考虑,应为口诀表共9行9列,在这里我们用i控制行,用j控制列。 public class Subject1 public static void main(String args) for(int i=1;i10;i+)

3、for(int j=1;j=i;j+) System.out.print(j+*+i+=+(j*i)+ ); System.out.println; 二、有一分数序列:2/1、3/2、5/3、8/5、13/8、21/13.求出这个数列的前20项之和。 public class Subject2 public static void main(String args) double fenzi = 1; double fenmu = 1; double sum = 0; double Sn = 0; for (int i = 0; i 20; i+) double temp = fenzi; f

4、enzi = fenmu + fenzi; fenmu = temp; sum = fenzi / temp; Sn += sum; System.out.print(Sn); 三、一个数如果恰好等于它的因子之和,这个数就称为完数。例如6=123.编程找出1000以内的所有完数。 分析:嵌套循环:主要是找出能被整除的数,即求模为0的数,(i%j=0) 则j可以被i整除,j满足条件。 那么我们定义一个数 int sum=0,只要对满足上面条件的数 进行 sum += j; 如贵最后的结果 sum=i,那么这个数就为完数。 public class Subject3 public static v

5、oid main(String args) int n = 1000; compNumber(n); / 求完数 private static void compNumber(int n) System.out.println(n + 以内的完数:); for (int i = 1; i = n; i+) int sum = 0; for (int j = 1; j 0; i-) m = 2 * ( m + 1); System.out.print(m + ); System.out.println(n小猴子共摘了 + m + 桃子); 五、海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子

6、凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子? 答案: 3906 public class Subject5 public static void main(String args) / 假设每次分配n个,第5猴分配完成了,平分的话最少是1个,并且丢掉1个, / 那么第5猴开始分配的时候是 1*5 +1 =6个 / 那么第4猴开始分配的时候是 6*5 +1 =31个 / 那么第3猴开始分配的时候是 31*5 +1 =156个

7、 / 那么第2猴开始分配的时候是 156*5 +1 = 781个 / 那么第1猴开始分配的时候是 781*5 +1 = 3906个 / 1 6 31 156 781 的规律是 n = 5*n + 1 ; int n = 1; for (int i = 0; i 5; i+) n = 5 * n + 1; System.out.println(n); System.out.println(小猴子共摘了 + n + 桃子); 六、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高? public class Subject6 p

8、ublic static void main(String args) double height = 100; / 离地面的高度 int count = 10; / 着地次数 double length = 0; / 球 经过的*米 for (int i = 1; i = count; i+) if(i = 1) length += height; else length = length + 2*height; /计算第2次以后着地后经过的*米 height = height / 2; System.out.println(经过第 + i + 次落地时,小球共经过 + length + 米, + 第 第 + i + 次反弹高度为 + height + 米); System.out.println(经过第 + count + 次反弹后,小球共经过 + length + 米, + + count + 次反弹高度为 + height + 米);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号