【程序21】题目:求1+2!+3!+…+20!的和
public class Prog21{
public
static void main(String[] args){
long
s=0;
long
n=1;
for(int
i=1;i<=20;i++) {
n=n*i;
s+=n;
}
System.out.println(s);
}
}
【程序22】题目:利用递归方法求5!。
public class Prog22{
public
static void main(String[] args){
int
n=5;
System.out.println(fun(n));
}
public
static int fun(int n) {
if(n0||n1)
{
return
1;
}
else
{
return
n*fun(n-1);
}
}
}
【程序23】题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?
程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道第四人的岁数,依次类推,推到第一人(10岁),再往回推。
public class Prog23{
public
static void main(String[] args){
int
n=5;
System.out.println(fun(n));
}
public
static int fun(int n) {
if(n==1)
{
return
10;
}
else
{
return
2+fun(n-1);
}
}
}
【程序24】题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
public class Prog24{
public
static void main(String[] args){
Scanner
sc=new Scanner(System.in);
System.out.print