判断素数.水仙花数(hash实现).分解因数.猴子吃桃
2016-12-15 21:39
369 查看
1、判断素数
2、因式分解
3.水仙花数
4、成绩判断+猴子吃桃问题
/** * Created by "Seaside" on 2016/12/15. */ public class isPrime { /* * 判断素数 * */ public static void main(String[] args) { for (int i = 1; i <= 100; i++) { int num2 = isPrime(i); if (num2 != 0) { System.out.println(num2); } } } static int isPrime(int num) { boolean flag = false; for (int j = 2; j <= Math.sqrt(num); j++) { if (num % j == 0) { return 0; } } return num; } }
2、因式分解
/** * Created by "Seaside" on 2016/12/15. */ public class isZhiYinShuo { /* * 分解质因数:找到和是最小的那一组 * 如:12+2*6 * 12=3*4 * 12=2*2*3 * 这组和是最小的 * */ public static void main(String[] args) { ZhiYinShuoFenJie(12); } static void ZhiYinShuoFenJie(int num) { if (isPrime(num)) { System.out.println(num); } else { for (int i = 2; i < Math.sqrt(num); i++) { if (num % i == 0) { ZhiYinShuoFenJie(i); ZhiYinShuoFenJie(num / i); break; } } } } static boolean isPrime(int num) { boolean flag = true; for (int j = 2; j <= Math.sqrt(num); j++) { if (num % j == 0) { flag = false; break; } } return flag; } }
3.水仙花数
import java.util.HashMap; import java.util.HashSet; import java.util.Scanner; import java.util.Set; /** * Created by "Seaside" on 2016/12/15. */ public class ArmstrongNumber { /* * 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153) * * */ static int one = 1; static int two = 2 * 2 * 2; static int three = 3 * 3 * 3; static int four = 4 * 4 * 4; static int five = 5 * 5 * 5; static int six = 6 * 6 * 6; static int seven = 7 * 7 * 7; static int eight = 8 * 8 * 8; static int nine = 9 * 9 * 9; static int zero = 0; public static void main(String[] args) { Scanner scan = new Scanner(System.in); int number = scan.nextInt(); System.out.println(isArmstrongNumber(number)); } static boolean isArmstrongNumber(int num) { int temp=num; boolean flag = false; HashMap<Integer, Integer> hm = new HashMap<Integer, Integer>(); hm.put(0, zero); hm.put(1, one); hm.put(2, two); hm.put(3, three); hm.put(4, four); hm.put(5, five); hm.put(6, six); hm.put(7, seven); hm.put(8, eight); hm.put(9, nine); int sum = 0; do { if (num < 10) { sum += hm.get(num); break; } int k = num % 10; num /= 10; sum += hm.get(k); } while (num >= 0); if (sum == temp) { flag = true; } return flag; } }
4、成绩判断+猴子吃桃问题
/** * Created by "Seaside" on 2016/12/15. */ public class ScoreMonkey { /* * 学生成绩+猴子吃桃子的问题 * */ public static void main(String[] args) { // Score(100); Monkey(); } static void Score(int num) { /* * 成绩是0-100 * */ String result = ""; switch (num / 10) { case 10: result = "非常棒!"; break; case 9: result = "优秀!"; break; case 8: result = "良好!"; break; case 7: result = "良"; break; case 6: result = "及格"; break; default: result = "不及格,有待努力!"; } System.out.println(result); } public static void Monkey() { /* * 猴子吃枣问题。猴子摘了一堆枣。第一天吃了一半,还嫌不过瘾,又吃一个;第二天又吃了剩下的一半零一个; 以后每天如此。到第十天,猴子一看只剩下一个了。问第一天有多少个枣子? * */ int[] touzi = new int[10]; //声明一个整型数组,用来存储每天剩余的桃子数量 touzi[9] = 1; //第十天剩下一个桃子 for (int i = 8; i >= 0; i--) { touzi[i] = (touzi[i + 1] + 1) * 2; //每前一天的桃子数都等一现在剩余的桃子数加一在乘以二 } System.out.println("第一天摘的桃子数为:" + touzi[0]); //输出第一天共摘的桃子数 }}
//递归实现猴子吃桃问题 static int sum = 0; static int Monkey_DiGui(int day) { if (day == 10) { return 1; } sum += 2*Monkey_DiGui(day + 1)+2; return sum; }
相关文章推荐
- 常用的算法:求闰年,判断素数,分解质因数,完数,水仙花数等
- 简单数学(关于素数判断和因数分解)
- C语言实现判断素数,回文数,水仙花数,闰年
- Java实现判断素数和水仙花数
- 多种方法实现素数的判断
- 任意输入20个正整数,找出其中的素数,并将这些素数按由小到大排序。要求:判断一个数是否为素数用函数实现:排序用函数实现
- 用Python实现求最大公约数和判断是否是素数
- Miller Robin素数测试与Pollcard Rho因数分解
- 素数分解之javascript实现
- C程序实现整数的素数和分解问题
- C#查找判断素数(埃拉托斯特尼筛法C#实现)BitArray
- miller_rabin素数判断和pollard_rho的素数因子分解算法
- 大素数判断和素因子分解(miller-rabin,Pollard_rho算法)
- 唯一因数分解定理及无最大素数的粗略证明
- 大素数判断和素因子分解(miller-rabin,Pollard_rho算法)
- Pollard_rho算法(大整数的因子分解或判断是否为素数)
- c语言实现判断一个数是否是素数
- 【原】求解一个数的所有素数因数(因数分解)
- pku1811 pku2429 (大素数判断,整数分解)
- 素数判断的几种方法代码实现及其复杂度分析