<!--StartFragment -->
package web;
/**
* 计算给定数N的阶乘
* @author zengst
*
*/
public class GetSum {
public static void main(String args[]) {
int d=4;
getTotal(d);
}
public static void getTotal(int d ){
String dis = "";
for(int i=1 ; i<=d ; i++ ){
dis = dis+i+"!+";
//在循环里面可以截取最后多余的+,但是须每次循环都要判断
//所以建议在循环结束后截取多余的+
}
System.out.println("截取字符串之前:"+dis);
dis = dis.substring(0,dis.length()-1)+" = ";
System.out.println("最后的+用=替代:"+dis);
//对每一个数的阶乘求和
int sum=0;
for(int i=1 ; i<=d ; i++ ){
int ijc = getNM(i);
System.out.println(i+"的阶乘:"+ijc);
sum = sum+ijc;
}
System.out.println(dis+sum);
}
/**
* 递归计算N的阶乘
* @param n
* @return
*/
public static int getNM(int n){
if(n==1){
return 1;//递归出口
}else{
return n*getNM(n-1);
}
}
}
/**
* 计算给定数N的阶乘
* @author zengst
*
*/
public class GetSum {
public static void main(String args[]) {
int d=4;
getTotal(d);
}
public static void getTotal(int d ){
String dis = "";
for(int i=1 ; i<=d ; i++ ){
dis = dis+i+"!+";
//在循环里面可以截取最后多余的+,但是须每次循环都要判断
//所以建议在循环结束后截取多余的+
}
System.out.println("截取字符串之前:"+dis);
dis = dis.substring(0,dis.length()-1)+" = ";
System.out.println("最后的+用=替代:"+dis);
//对每一个数的阶乘求和
int sum=0;
for(int i=1 ; i<=d ; i++ ){
int ijc = getNM(i);
System.out.println(i+"的阶乘:"+ijc);
sum = sum+ijc;
}
System.out.println(dis+sum);
}
/**
* 递归计算N的阶乘
* @param n
* @return
*/
public static int getNM(int n){
if(n==1){
return 1;//递归出口
}else{
return n*getNM(n-1);
}
}
}