编程题7-12答案

  1. 验证“鬼谷猜想”:对任意自然数,若是奇数,就对它乘以 3 再加 1;若是偶数,就对它除以 2,这样得到一个新数,再按上述计算规则进行计算,一直进行下去,最终必然得到 1 public class HomeWork13 { public static void main(String[] args) { /* * 验证“鬼谷猜想”:对任意自然数,若是奇数, * 就对它乘以3再加1;若是 偶数,就对它除以2, * 这样得到一个新数, * 再按上述计算规则进行计算, * 一直进 行下去,最终必然得到1。 */ int num; Random rd = new Random(); //Integer.MAX_VALUE为最大的整数 num = 1 + rd.nextInt(Integer.MAX_VALUE);//产生数的范围-2[31]----2[31]-1 //System.err.println(rd.nextInt(100));//产生数>=0且<100 System.out.println("原本的数为" + num); while (num != 1) { System.out.println("产生的新数是" + num); if (num % 2 == 0) { //偶数 num = num / 2; } else { num = num * 3 + 1; } } System.out.println(num); } }
  2. 编程求 1~10000 之间的所有“完全数”,完全数是该数的所有因子之和等于该数的数。例如,6 的因子有 1、2、3,且 6=1+2+3,所以 6 是完全数 public class Test { public static boolean isyinzi(int num) { int sum = 0; //判断一个整数是不是一个完全数 for (int d = num - 1; d >= 1; d--) { if (num % d == 0) { sum += d; } } return sum == num; } public static void main(String[] args) { /* * 编程求1~10000之间的所有“完全数”, * 完全数是该数的所有因子之和等 * 于该数的数。例如,6的因子有1、2、3, * 且6=1+2+3,所以6是完全数*/ for (int a = 1; a <= 1000; a++) { int num = a; if (isyinzi(num)) { System.out.println(num); } } }
  3. 猴子吃桃问题。猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天都吃前一天剩下的一半零一个。到第 10 天在想吃的时候就剩一个桃子了,求第一天共摘下来多少个桃子 public class Test { public static void main(String[] args) { int total = 1; int day = 10; for (int i = 10; i > 0; i--) { System.out.println("第" + day + "天,有桃子" + total + "颗"); total = (total + 1) * 2; day--; } }
  4. 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)。编程求出所有三位的水仙花数 public class Test { public static void main(String[] args) { for (int num = 100; num < 1000; num++) { if (isshuixian(num)) { System.out.println(num); } } } //判断一个数是不是水仙花数 public static boolean isshuixian(int num) { int b = num / 100; int s = num % 100 / 10; int g = num % 10; return Math.pow(b, 3) + Math.pow(s, 3) + Math.pow(g, 3) == num ? true : false; } }
  5. 古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少 public class Test { /* * 古典问题:有一对兔子, * 从出生后第3 个月起每个月都生一对兔子, * 小兔 子长到第三个月后每个月又生一对兔子, * 假如兔子都不死, * 问每个月的兔子总数 为多少? */ public int rubbit(int mon) { if (mon <= 2) { return 1; } else { return rubbit(mon - 1) + rubbit(mon - 2); } } public static void main(String[] args) { int r = 1; int rr = 1; int rrr = 1; System.out.println("方法一:"); for (int a = 1; a <= 12; a++) { //12个月 if (a <= 2) { r = 1; } else { //当前月等于前两个月之和 r = rr + rrr; rrr = rr; rr = r; } System.out.println(r * 2); } System.out.println("方法二,求指定月份的兔子数量:"); HomeWork19 jisuan = new HomeWork19(); System.out.println("请输入月份:"); Scanner sc = new Scanner(System.in); int yue = sc.nextInt(); System.out.println(yue + "月份的兔子数量是" + (jisuan.rubbit(yue)) * 2); } }
  6. 将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5 public class Test { public static void main(String[] args) { System.out.println("请输入一个整数:"); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); System.out.println(num + "的质因数有:"); for (int i = 2; i < num; i++) { while (num % i == 0) { num /= i; System.out.print(i + " "); } } System.out.print(" " + num); } }

原文发布于微信公众号 - java工会(javagonghui)

原文发表时间:2018-04-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏coding...

swift3.0 基础练习-构造对象并按要求进行排序(struct)

struct练手 构造10个学生(要求有学生的姓名、数学成绩、英语成绩),按照学生英语和数学平均分的成绩从小到大输出学生的姓名、数学成绩、英语成绩及平均分 ...

573
来自专栏用户画像

构造蛇形矩阵

1  2  3 8  9  4 7  6  5 n=4的回型矩阵 1  2  3  4 12  13  14  5 11  16  15  6 10  9 ...

572
来自专栏拂晓风起

java HashMap 极限容量 大小限制 占用内存大小

1264
来自专栏程序员互动联盟

【面试宝典】java字符串处理技巧

面试官 知道String吗?String是什么类型的?用的时候需要注意什么?String和StringBuffer、StringBuilder的区别都是什么? ...

2766
来自专栏CodingToDie

JPA @Query实现,动态代理,注解, 正则,Spring扩展的使用

@Query 的实现 动态代理 注解 表设计 model repository 大体流程 代理使用 将生成代理放入 Spring IOC 容器中 invoke方...

3926
来自专栏GreenLeaves

EF基础知识小记五(一对多、多对多处理)

本文主要讲EF一对多关系和多对多关系的建立 一、模型设计器 1、一对多关系 右键设计器新增关联 ? ? 导航属性和外键属性可修改 2、多对多关系 右键设计器新增...

2368
来自专栏nnngu

算法09 五大查找之:哈希查找

前面的几篇文章分别总结了:顺序查找、二分查找、索引查找、二叉排序树。这一篇文章要总结的是五大查找的最后一个:哈希查找(也称为散列查找)。提起哈希,我的第一印象就...

2839
来自专栏菩提树下的杨过

职责链(Chain of Responsibility)模式在航空货运中的运用实例

设计模式这东西,基本上属于“看懂一瞬间,用会好几年”。只有实际开发中,当某一模式很好的满足了业务需求时,才会有真切的感觉。借用一句《闪电侠》中,绿箭侠教导闪电侠...

2275
来自专栏青玉伏案

Java面向对象练习

1、定义长方形类,含:   属性:宽、高(整型);   方法:求周长、面积;   构造方法3个:(1)无参——宽、高默认值为1;(2)1个参数——宽、高均为参数...

3247
来自专栏令仔很忙

新手学JAVA(六)----处理随机性的数据

在我们的日常生活中会遇到很多随机性的事情,比如:摇奖,彩票,掷色子,这些都可以通过程序计算其中奖的概率。在JAVA的类库中,有一个专门操作这种随机性数据的类—-...

592

扫码关注云+社区