JAVA经典算法40题_第1页
JAVA经典算法40题_第2页
JAVA经典算法40题_第3页
JAVA经典算法40题_第4页
JAVA经典算法40题_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA经典算法40题【程序1】题目:经典问题:有一对兔子。从出生后的第三个月开始,每个月都会有一对兔子出生。小兔子长到第四个月,每个月都会生下另一对兔子。如果兔子没有死,每月兔子的总数是多少?1.程序分析:兔子的规则是序列1,1,2,3,5,8,13,21.公共类exp2公共静态void main(字符串参数)int I=0;对于(I=1;i=20(I)system . out . println(f(I);公共静态int f(int x)if(x=1 | x=2)返回1;其他返回f(x-1)f(x-2);或者公共类exp2公共静态void main(字符串参数)int I=0;数学我的数学=新数学();对于(I=1;i=20(I)system . out . println(my math . f(I);课堂数学公共整数f(整数x)if(x=1 | x=2)返回1;其他返回f(x-1)f(x-2);过程2主题:确定101和200之间有多少质数,并输出所有质数。1.程序分析:判断质数的方法:用一个数去掉2到sqrt(这个数),如果它能被精确地除,它表明这个数不是质数,而是质数。公共类exp2公共静态void main(字符串参数)int I=0;数学我的数学=新数学();对于(I=2;i=200(I)if(my math . iszhishu(I)=true)系统输出打印输入(I);课堂数学公共整数f(整数x)if(x=1 | x=2)返回1;其他返回f(x-1)f(x-2);公共布尔iszhishu(int x)对于(int I=2;I=x/2;(I)if (x % 2=0)返回false返回真;程序3标题:打印出所有的水仙花号。所谓的“水仙花数”是指一个三位数的数,它的立方和等于数本身。例如:153是一个“水仙数”,因为153=1的三次方5的三次方3的三次方。1.程序分析:100-999个数字由for循环控制,每个数字被分解成位、十位和一百位。公共类exp2公共静态void main(字符串参数)int I=0;数学我的数学=新数学();对于(i=100i=999。(I)if(mymath .水仙花(I)=true)系统输出打印输入(I);课堂数学公共整数f(整数x)if(x=1 | x=2)返回1;其他返回f(x-1)f(x-2);公共布尔iszhishu(int x)对于(int I=2;I=x/2;(I)if (x % 2=0)返回false返回真;公共布尔水线花(int x)int i=0,j=0,k=0;I=x/100;j=(x % 100)/10;k=x % 10if(x=I * I * I j * j * k * k * k)返回真;其他返回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作为k的值,并重复第一步。公共类exp2公共exp2()奉节(int n)对于(int I=2;I=n/2;i )if(n%i=0)系统输出打印(I *);奉节(北/北);系统输出打印(n);system . exit(0);/这句话不能省略,否则结果会是错误的。公共静态void main(字符串参数)字符串字符串=“”;exp2 c=新ex p2();STR=javax . swing . jointopanee . showinputdialog(请为n输入一个值(输入退出):);整数;N=0。尝试N=整数.语法点(字符串);捕获(NumberFormatException e)e . PrintStackTrace();绝版(N 因式分解素因子:“N =);奉节(北);过程5主题:使用条件运算符的嵌套来完成此主题:分数为90的学生用A表示,60到89之间的学生用B表示,60以下的学生用C表示1.程序分析:(a b)?这是条件运算符的一个基本示例。导入javax . swing . *;公共类ex5 公共静态void main(字符串参数)字符串字符串= ;str=JoOptionPane。ShowInputDialog()请输入N的值(输入出口退出):);整数;N=0 .尝试N=整数。语法点(字符串);catch(NumberFormatException e)e .printstackTrace();str=(N90? :(N60? b : C );系统输出打印输入(字符串);【程序【6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:利用辗除法。最大公约数:公共类共模因子公共静态空主要(字符串参数)公约数(24,32);静态整数除法器(整数m,整数n)if(N0|M0)系统。出去。println(“ERROR!”);返回-1;如果(N=0)系统输出打印输入(”最大公约数是:返回m;返回公约数(N,M % N);最小公倍数和最大公约数:导入Java。util。扫描仪;公共类CandC/下面的方法是求出最大公约数公共静态int gcd(int m,int n)而(真的)if (m=m % n)=0)返回n;if (n=n % m)=0)返回m;公共静态void main(字符串参数)引发异常/取得输入值/扫描仪下巴=新扫描仪(系统英寸);/int a=chin.nextInt(),b=chin。nextint();int a=23int b=32int c=gcd(a,b);System.out.println(最小公倍数: a * b/c n最大公约数”“c);【程序【7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用正在语句,条件为输入的字符不为n .导入Java。util。扫描仪;公共类ex7 公共静态空主要(字符串参数)System.out.println(请输入字符串:);扫描仪扫描=新扫描仪(系统

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论