编程题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 条评论
登录 后参与评论

相关文章

来自专栏搞前端的李蚊子

Html5模拟通讯录人员排序(sen.js)

// JavaScript Document  var PY_Json_Str = ""; var PY_Str_1 = ""; var PY_Str_...

5856
来自专栏码匠的流水账

java9系列(五)Stack-Walking API

java9新增这个类的目的是提供一个标准API用于访问当前线程栈,之前只有Throwable::getStackTrace、Thread::getStackTr...

401
来自专栏增长技术

App Guide相关

##TourGuide https://github.com/worker8/TourGuide

702
来自专栏草根专栏

适合在Markdown里面使用的emoji

因为Markdown里面加颜色需要写html style, 所以对于一些标题, 还是用一下emoji吧: RED APPLE (&#x1F34E;): ? GR...

2704
来自专栏余生开发

echarts太阳分布图-饼图来回穿梭

var dom = document.getElementById("container");

1142
来自专栏WOLFRAM

错觉艺术的巅峰,错觉图形大师M.C. Escher的不可能方块的可能模型

1333
来自专栏linux驱动个人学习

高通msm8909耳机调试

1、DTS相应修改: DTS相关代码:kernel/arch/arm/boot/dts/qcom/msm8909-qrd-skuc.dtsi: 1 s...

7345
来自专栏我和未来有约会

简练的视图模型 ViewModel

patterns & practices Developer Center 发布了 Unity Application Block 1.2 for Silver...

2159
来自专栏MelonTeam专栏

Bitmap 源码阅读笔记

导语: Android 系统上的图片的处理,跟Bitmap 这个类脱不了关系,我们有必要去深入阅读里面的源码,以便在工作中能更好的处理Bitmap相关的问题...

2458
来自专栏c#开发者

Processing Binary Documents Through BizTalk Via Web Services[转]

Published 21 July 06 08:24 AM | rseroter Just finishing up a two-week BizTalk P...

3364

扫码关注云+社区