本文已同步至:Muramura例题211的总和!+2!+3!+...+20!分析循环找到从1到20的阶乘,然后将它们相加。实现/***使用IntelliJIDEA创建。**@author:cunyu*@version:1.0*@email:747731461@qq.com*@website:https://cunyu1943.github.io*@date:2021/6/322:48*@project:Java编程示例*@package:PACKAGE_NAME*@className:Example21*@description:*/publicclassExample21{publicstaticvoidmain(String[]args){longsum=0;长脸=1;for(inti=1;i<=20;i++){fac*=i;总和+=fac;}System.out.println("1!+2!+3!+...+20!="+sum);}}ResultsExample22用递归的方法求5!分析找到边界条件num=1,然后调用fac(num)=num*fac(num-1)!实现/***使用IntelliJIDEA创建。**@author:cunyu*@version:1.0*@email:747731461@qq.com*@website:https://cunyu1943.github.io*@date:2021/6/322:50*@project:Java编程示例*@package:PACKAGE_NAME*@className:Example22*@description:*/publicclassExample22{publicstaticvoidmain(String[]args){System.out.println("5!="+fac(5));}/***求num的阶乘**@paramnum*@returnnum的阶乘*/publicstaticlongfac(intnum){if(num==1){return1;}else{returnnum*fac(num-1);}}}结果示例23有5个人坐在一起,第五个人几岁?他说他比第四个人大2岁。他问第四个人多大了,他说比第三个人大两岁。问第三个人,说他比第二个人大两岁。问第二个人,说他比第一个人大两岁。最后问第一个人,他说是10岁。第五个人几岁?分析其实就是一个逆向遍历的过程。我们知道第一个人的年龄,我们只要回去就可以知道第五个人的年龄。这是等差数列。实现/***使用IntelliJIDEA创建。**@author:cunyu*@version:1.0*@email:747731461@qq.com*@website:https://cunyu1943.github.io*@date:2021/6/322:54*@project:Java编程示例*@package:PACKAGE_NAME*@className:Example23*@description:*/publicclassExample23{publicstaticvoidmain(String[]args){intage=10;for(inti=2;i<=5;i++){age+=2;}System.out.println("第5个人的年龄:"+age);}}结果示例24题给一个不超过5人要求:1.求数字的个数,2.逆序打印出数字并解析输入的整数,然后转成字符串。通过查找字符串的长度,您可以知道数字中的位数。然后反向打印字符串!实施importjava.util.Scanner;/***使用IntelliJIDEA创建。**@author:cunyu*@version:1.0*@email:747731461@qq.com*@website:https://cunyu1943.github.io*@date:2021/6/323:14*@project:Java编程示例*@package:PACKAGE_NAME*@className:Example24*@description:*/publicclassExample24{publicstaticvoidmain(String[]args){Scannerscanner=新扫描仪(System.in);System.out.println("请输入一个整数");longnum=scanner.nextLong();字符串str=Long.toString(num);System.out.println("这个数字是"+str.length()+"位数字!");System.out.print("逆向输出的数字是:");对于(inti=str.length()-1;i>=0;i--){System.out.print(str.charAt(i));}}}Resultexample25题目一个5位数字,判断是否是回文数,即12321是回文数,个位和十位同千位,十位同千位。分析由于已经限制了5位数字,所以输入一个5位数字后,分解每个数字上的数字,然后判断个位和万位,万位和千位是否相同!实现importjava.util.Scanner;/***使用IntelliJIDEA创建。**@author:cunyu*@version:1.0*@email:747731461@qq.com*@website:https://cunyu1943.github.io*@date:2021/6/323:19*@project:Java编程示例*@package:PACKAGE_NAME*@className:Example25*@description:*/publicclassExample25{publicstaticvoidmain(String[]args){Scannerscanner=newScanner(System.in);System.out.println("请输入一个5位数字");intnum=scanner.nextInt();字符串str=Integer.toString(num);if(str.charAt(0)==str.charAt(str.length()-1)&&str.charAt(1)==str.charAt(str.length()-1-1)){System.out.println(num+"是一个回文");}else{System.out.println(num+"不是回文");}}}结果
