java经典算法50题答案.docx
- 文档编号:30671699
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:45
- 大小:21.45KB
java经典算法50题答案.docx
《java经典算法50题答案.docx》由会员分享,可在线阅读,更多相关《java经典算法50题答案.docx(45页珍藏版)》请在冰豆网上搜索。
java经典算法50题答案
1
packagework;
publicclassFib{
publicstaticvoidmain(String[]args){
int[]fib=newint[23];
fib[0]=1;
fib[1]=1;
for(inti=2;i fib[i]=fib[i-1]+fib[i-2]; } for(inti=0;i System.out.print(fib[i]+""); } } } 2 packagework; importjava.math.*; importjava.util.ArrayList; publicclassSushu{ publicstaticvoidmain(String[]args){ ArrayListlist=newArrayList(); for(inti=101;i<200;i++){ if(isPrime(i)){ list.add(i); } } System.out.println(list+"共有"+list.size()); } publicstaticbooleanisPrime(inti){ booleanflag=true; for(intj=2;j if(i%j==0){ flag=false; } } returnflag; } } 3 packagework; publicclassFlower{ publicstaticvoidmain(String[]args){ for(inti=100;i<999;i++){ if(flower(i)){ System.out.print(i+""); } } } publicstaticbooleanflower(intnumber){ booleanflag=false; inti=number/100;// intj=(number-i*100)/10; intk=number%10; if((i*i*i+j*j*j+k*k*k)==number){ flag=true; } returnflag; } } 4 packagework; importjava.util.Scanner; importjava.io.*; publicclassDecomposition{ privatestaticintk=2; publicstaticvoidmain(String[]args)throwsIOException{ Scannerscanner=newScanner(System.in); System.out.println("请输入一个整数"); intnumber=scanner.nextInt(); System.out.print(number+"="); fenJie(number); } publicstaticvoidfenJie(intnumber){ if(k==number){ System.out.print(k); return; } elseif(number%k==0){ System.out.print(k+"*"); fenJie(number/k); } else{ k++; fenJie(number); } } } 5 packagework; importjava.util.Scanner; importjava.io.*; publicclassTiaoJian{ publicstaticvoidmain(String[]args)throwsIOException{ Scannerscanner=newScanner(System.in); System.out.println("请输入成绩"); intscore=scanner.nextInt(); chars=((score>=90)? 'A': ((score<60)? 'C': 'B')); System.out.println(s); } } 6 packagework; importjava.util.Scanner; publicclassBeiyue{ publicstaticvoidmain(String[]args){ Scannerscanner=newScanner(System.in); System.out.println("请输入mn"); intm=scanner.nextInt(); intn=scanner.nextInt(); inta=yueshu(m,n); System.out.println("最大公约数为;"+a); System.out.println("最小公倍数为: "+m*n/a); } publicstaticintyueshu(intm,intn){ if(n==0){ returnm; } elseif(n! =0){ returnyueshu(n,m%n); } return0; } } 7 packagework; importjava.util.Scanner; publicclassFenlei{ publicstaticvoidmain(String[]args){ Scannerscanner=newScanner(System.in); System.out.println("请输入一串字符: "); Strings=scanner.nextLine(); char[]ch=s.toCharArray(); intnumber=0; intspace=0; intletter=0; intother=0; for(inti=0;i if(((ch[i]>'a')&&(ch[i]<'z'))||((ch[i]>'A')&&(ch[i]<'Z'))){//Character.isLetter(ch[i]) letter++; } elseif((ch[i]>'0')&&(ch[i]<'9')){//Character.isDigit(ch[i]) number++; } elseif(ch[i]==''){//Character.isSpaceChar(ch[i]) space++; } else{ other++; } } System.out.println("letter="+letter); System.out.println("number="+number); System.out.println("space="+space); System.out.println("other="+other); } } 8 packagework; importjava.util.Scanner; publicclassSum{ publicstaticvoidmain(String[]args){ Scannerscanner=newScanner(System.in); System.out.println("请输入数字a"); inta=scanner.nextInt(); System.out.println("请输入加数个数"); intn=scanner.nextInt(); sum(a,n); } publicstaticvoidsum(inta,intn){ intsum=0; intt=0;//每一项的值 System.out.println("sum="); for(inti=0;i t=0;//初始化为0 for(intj=0;j<=i;j++){//计算每一项的值 t=t+(int)(Math.pow(10,j))*a; } if(i { System.out.print(t+"+"); } sum=sum+t; } System.out.print(t); System.out.print("="+sum); } } 9 packagework; importjava.io.*; publicclassWanshu{ privatestaticintk=2; privatestaticintsum=1; publicstaticvoidmain(String[]args){ for(intnumber=4;number<1000;number++){ k=2; sum=1; wanshu(number); } } publicstaticintfenJie(intnumber){ if(k==number){ //System.out.print(k); sum=sum+k; } elseif(number%k==0){ //System.out.print(k+"*"); sum=sum+k; fenJie(number/k); } elseif(number%k! =0){ k++; fenJie(number); } returnsum; } publicstaticvoidwanshu(intnumber){ //System.out.print(number+"=1*"); ints=fenJie(number); //System.out.println(); //System.out.println("因子之和为: "+s); if(s==number){ System.out.print(number+""); } } } 10 packagework; publicclassFantan{ publicstaticvoidmain(String[]args){ doublelength=100; doubleheight=100; for(inti=0;i<10;i++){ length=length+height; height=height/2.0; } System.out.println(length); System.out.println(height); } } 11 packagework; publicclassPailie{ publicstaticvoidmain(String[]args){ intsum=0; intnum=0; for(inti=1;i<=4;i++){ for(intj=1;j<=4;j++){ for(intk=1;k<=4;k++){ if((k! =j)&&(k! =i)&&(i! =j)){ num=100*i+10*j+k; System.out.print(num+""); sum++; } } } } System.out.println("sum="+sum); } } 12 packagework; importjava.util.Scanner; publicclassPay{ publicstaticvoidmain(String[]args){ Scannerscanner=newScanner(System.in); System.out.println("请输入工资: "); intsalary=scanner.nextInt(); intn=salary/10; doublesum; switch(n){ case0: sum=salary*0.1;break; case1: sum=1+(salary-10)*0.075;break; case2: case3: sum=1.75+(salary-20)*0.05;break; case4: case5: sum=2.75+(salary-40)*0.03;break; case6: case7: case8: case9: sum=3.35+(salary-60)*0.015;break; default: sum=3.95+(salary-100)*0.1;break; } System.out.println("奖金为: "+sum); } } 13 packagework; publicclassPow{ publicstaticvoidmain(String[]args){ intnumber=0; for(inti=0;i<320;i++){ for(intj=0;j<320;j++){ if((i*i-100)==(j*j-268)){ number=i*i-100; if(number>0) { System.out.println(number+""); } } } } } } 14 packagework; importjava.util.Scanner; publicclassDay{ publicstaticvoidmain(String[]args){ Scannerscanner=newScanner(System.in); System.out.println("请输入年"); intyear=scanner.nextInt(); System.out.println("请输入月"); intmonth=scanner.nextInt(); System.out.println("请输入日"); intday=scanner.nextInt(); booleanflag=false; if((((year%4)==0)&&((year%100)! =0))||((year%400)==0)){ flag=true; } intsum=0; switch(month){ case1: sum=day;break; case2: sum=28+day;break; case3: sum=59+day;break; case4: sum=90+day;break; case5: sum=120+day;break; case6: sum=151+day;break; case7: sum=181+day;break; case8: sum=212+day;break; case9: sum=243+day;break; case10: sum=273+day;break; case11: sum=304+day;break; case12: sum=335+day;break; default: System.out.println("输入有误"); } if(flag&&(month>1)){ sum++; } System.out.println("这是一年中的第"+sum+"天"); } } 15 packagework; importjava.util.Scanner; publicclassMin{ publicstaticvoidmain(String[]args){ Scannerscanner=newScanner(System.in); System.out.println("请输入三个整数"); intx=scanner.nextInt(); inty=scanner.nextInt(); intz=scanner.nextInt(); if(x System.out.print(x+""); if(y System.out.print(y+""+z); } elseif(y>z){ System.out.print(z+""+y); } } elseif(y System.out.print(y+""); if(x System.out.print(x+""+z); } elseif(x>z){ System.out.print(z+""+x); } } elseif(z System.out.print(z+""); if(y System.out.print(y+""+x); } elseif(y>x){ System.out.print(x+""+y); } } } } 16 packagework; publicclassNine{ publicstaticvoidmain(String[]args){ for(inti=1;i<=9;i++){ for(intj=1;j<=i;j++){ System.out.print(j+"*"+i+"="+(j*i)+""); } System.out.println(); } } } 17 packagework; publicclassEat{ publicstaticvoidmain(String[]args){ System.out.println(eat(10,1)); } publicstaticinteat(intday,intsum){ if(day==1){ returnsum; } elseif(day! =1){ returneat(day-1,(sum+1)*2); } returnsum; } } 18 packagework; publicclassContest{ publicstaticvoidmain(String[]args){ chari,j,k;//abc的对手 for(i='x';i<='z';i++){ for(j='x';j<='z';j++){ for(k='x';k<='z';k++){ if(i! =j&&i! =k&&j! =k){ if(i! ='x'&&k! ='x'&&k! ='z'){ System.out.println(i+""+j+""+k); } } } } } } } 19 packagework; publicclassPrint{ publicstaticvoidmain(String[]args){ for(inti=0;i<=4;i++){ for(intj=0;j<4-i;j++){ System.out.print(""); } for(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 经典 算法 50 答案