面试中,遇到一个题目:求解第N个素数. import java.util.Scanner; public class GetPrimeNumber { public static int NthPrime(int n){ int i = 2, j = 1; while (true) { j = j + 1; if (j > i / j) { n--; if (n == 0) break; j = 1; } if (i % j == 0) { i++; j = 1; } } return i; }…
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 将一个正整数分解质因数分析:对n进行分解质因数,找到最小的质数k如果这个质数恰好等于n则说明分解质因数过程已经结束,打印输出即可如果n<>k,但n能被k整除,则因打印k的值,并用n除以k的商,作为新的正整数n,重复2如果不能被k整除,则用k+1作为k的值 import java.util.*; public class Rabbit{ public static void main(String[] args){ Sy…
汉诺塔问题的描述如下:有3根柱子A.B和C,在A上从上往下按照从小到大的顺序放着一些圆盘,以B为中介,把盘子全部移动到C上.移动过程中,要求任意盘子的下面要么没有盘子,要么只能有比它大的盘子.编程实现3阶汉诺塔的求解步骤. 思路如下: 要实现3阶汉诺塔的求解步骤,也就是说初始状态时,A上从上到下有三个盘子,分别为1号盘.2号盘和3号盘,其中1号盘最小,3号盘最大: 判断剩余盘子个数,如果只有一个盘子就退出迭代,如果有大于一个盘子就继续迭代. 代码如下: public class HanoiTow…