1 / 37
文档名称:

JAVA经典算法50题.doc

格式:doc   大小:875KB   页数:37
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

JAVA经典算法50题.doc

上传人:xxj16588 2017/2/19 文件大小:875 KB

下载得到文件列表

JAVA经典算法50题.doc

相关文档

文档介绍

文档介绍:JAVA 经典算法 41 题【程序 1】题目:古典问题:有一对兔子,从出生后第 3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1. 程序分析:兔子的规律为数列 1,1,2,3,5,8,13,21.... public class Demo01 { public static void main(String args[]) { int i=0; for (i =1; i<= 20; i++) System. out .println( f(i)); }public static int f( int x) { if (x == 1|| x== 2) return 1; else return f(x -1) +f(x -2); }}或public class Demo02 { public static void main(String args[]) { int i=0; math mymath =new math(); for (i =1; i<= 20; i++) System. out .println((i)); }}class math {public int f( int x) { if (x == 1|| x== 2) return 1; else return f(x -1) +f(x -2); }}【程序 2】题目:判断 101-200 之间有多少个素数,并输出所有素数。 1. 程序分析:判断素数的方法:用一个数分别去除 2到sqrt( 这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class Demo03 { public static void main(String args[]) { int i=0; math mymath =new math(); for (i =2; i<= 200; i++) if ((i) == true ) System. out .println(i); }}class math {public int f( int x) { if (x == 1|| x== 2) return 1; else return f(x -1) +f(x -2); }public boolean iszhishu( int x) { for (int i=2; i<= x/2; i++) if (x %i== 0) return false ; return true ; }} 【程序 3】题目:打印出所有的" 水仙花数" ,所谓" 水仙花数" 是指一个三位数,其各位数字立方和等于该数本身。例如: 153 是一个"水仙花数",因为 153=1 的三次方+ 5的三次方+ 3的三次方。 1. 程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。 public class Demo04 { public static void main(String args[]) { int i=0; math mymath =new math(); for (i =100; i<= 999; i++) if ((i) == true ) System. out .println(i); }}class math {public int f( int x) { if (x == 1|| x== 2) return 1; else return f(x -1) +f(x -2); }public boolean iszhishu (int x) { for (int i=2; i<= x/2; i++) if (x %2== 0) return false ; return true ; }public boolean shuixianhua( int x) { int i=0, j=0, k=0; i=x/100; j=(x %100) /10; k=x%10; if (x == i*i*i+j*j*j+k*k*k) return true ; else return false ; }}【程序 4】题目:将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5 。程序分析:对 n进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成: (1) 如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。(2) 如果 n<> k,但 n能被 k整除,则应打印出 k的值,并用 n除以 k的商,作为新的正整数你,重复执行第一步。(3) 如果 n不能被 k整除,则用 k+1 作为