static long fac = 0;
public static void main(String[] args) { long sum = 0; long fac = 1;
for(int i=1; i<=10; i++) { fac = fac * i; sum += fac;
}
System.out.println(sum); }
}
/*【程序22】
* 作者 若水飞天
题目:利用递归方法求5!。
1.程序分析:递归公式:fn=fn_1*4! */
package cn.com.flywater.FiftyAlgorthm; import java.util.Scanner;
public class Twenty_secondFactorialRecursion { public static void main(String[] args) { Scanner s = new Scanner(System.in); int n = s.nextInt();
Twenty_secondFactorialRecursion Twenty_secondFactorialRecursion(); System.out.println(tfr.recursion(n)); }
public long recursion(int n) { long value = 0 ;
if(n ==1 || n == 0) { value = 1;
} else if(n > 1) {
value = n * recursion(n-1); }
return value; } }
/*【程序23】
* 作者 : 若水飞天
题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。
问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。
问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大? 1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。
要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。 **/
16
tfr = new
package cn.com.flywater.FiftyAlgorthm; public class Twenty_thirdPeopleAge { public static void main(String[] args) { int age = 10;
for(int i=2; i<=5; i++) { age += 2;
}
System.out.println(age); }
}
/*【程序24】
* 作者 若水飞天
题目:给一个不多于5位的正整数,
要求:一、求它是几位数,二、逆序打印出各位数字。
说明: 这个算法实现虽然实现了这个功能,但不健壮,当输入字符是,会出现异常。 */
package cn.com.flywater.FiftyAlgorthm; import java.util.Scanner;
public class Twenty_fourthNumber { public static void main(String[] args) {
Twenty_fourthNumber tn = new Twenty_fourthNumber(); Scanner s = new Scanner(System.in); long a = s.nextLong();
if(a < 0 || a > 100000) {
System.out.println(\ System.exit(0); }
if(a >=0 && a <=9) {
System.out.println( a + \是一位数\
System.out.println(\按逆序输出是\ } else if(a >= 10 && a <= 99) { System.out.println(a + \是二位数\ System.out.println(\按逆序输出是\ tn.converse(a);
} else if(a >= 100 && a <= 999) { System.out.println(a + \是三位数\ System.out.println(\按逆序输出是\ tn.converse(a);
} else if(a >= 1000 && a <= 9999) { System.out.println(a + \是四位数\ System.out.println(\按逆序输出是\
17
tn.converse(a);
} else if(a >= 10000 && a <= 99999) { System.out.println(a + \是五位数\ System.out.println(\按逆序输出是\ tn.converse(a); } }
public void converse(long l) { String s = Long.toString(l); char[] ch = s.toCharArray(); for(int i=ch.length-1; i>=0; i--) { System.out.print(ch[i]); }
} }
这个算法实在太土了,也许只有我若水飞天才会这样写, 下面写一个优雅一点的 import java.util.Scanner;
public class Twenty_fourthNumber { public static void main(String[] args) {
Twenty_fourthNumber tn = new Twenty_fourthNumber(); Scanner s = new Scanner(System.in); long a = s.nextLong();
String s = Long.toString(l); char[] ch = s.toCharArray();
System.out.println(a + \是\“位数”); for(int i=ch.length-1; i>=0; i--) { System.out.print(ch[i]); } }
}
/*【程序25】
* 作者 若水飞天
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
**/
package cn.com.flywater.FiftyAlgorthm; import java.util.Scanner;
public class Twenty_fifthPalindrom { static int[] a = new int[5]; static int[] b = new int[5];
public static void main(String[] args) {
18
boolean is =false;
Scanner s = new Scanner(System.in); long l = s.nextLong();
if (l > 99999 || l < 10000) {
System.out.println(\, please input again!\ l = s.nextLong(); }
for (int i = 4; i >= 0; i--) {
a[i] = (int) (l / (long) Math.pow(10, i)); l =(l % ( long) Math.pow(10, i)); }
System.out.println();
for(int i=0,j=0; i<5; i++, j++) { b[j] = a[i]; }
for(int i=0,j=4; i<5; i++, j--) { if(a[i] != b[j]) { is = false; break; } else { is = true; }
}
if(is == false) {
System.out.println(\ } else if(is == true) {
System.out.println(\ } }
}
这个更好,不限位数
public static void main(String[] args) { Scanner s = new Scanner(System.in); System.out.print(\请输入一个正整数:\ long a = s.nextLong(); String ss = Long.toString(a); char[] ch = ss.toCharArray(); boolean is =true; int j=ch.length;
19
for(int i=0; i if(ch[i]!=ch[j-i-1]){is=false;} } if(is==true){System.out.println(\这是一个回文数\ else {System.out.println(\这不是一个回文数\ } /*【程序26】 * 作者 若水飞天 题目:请输入星期几的第一个字母来判断一下是星期几, 如果第一个字母一样,则继续 判断第二个字母。 1.程序分析:用情况语句比较好,如果第一个字母一样, 则判断用情况语句或if语句判断第二个字母。 此程序虽然实现了基本功能,但必须严格按照题目的要求输入,否则程序无法执行 **/ package cn.com.flywater.FiftyAlgorthm; import java.util.Scanner; public class Twenty_sixthWeek { Scanner s = new Scanner(System.in); public static void main(String[] args) { Twenty_sixthWeek tw = new Twenty_sixthWeek(); char ch = tw.getChar(); switch(ch) { case 'M': System.out.println(\ break; case 'W': System.out.println(\ break; case 'F': System.out.println(\ break; case 'T': { System.out.println(\ char ch2 = tw.getChar(); if(ch2 == 'U') {System.out.println(\ else if(ch2 == 'H') {System.out.println(\ }; break; case 'S': { System.out.println(\ char ch2 = tw.getChar(); if(ch2 == 'U') {System.out.println(\ 20