JAVA 编程练习5

题目:求1+2!+3!+...+20!的和 

public  class exam {


	public static void main(String[] args) {
		long sum=0,f=1;
     for(int i=1;i<=20;i++){
    		 f=f*i;
    		 sum=sum+f;
    		 System.out.print(i+"!");
    		 if(i!=20)
    			 System.out.print("+");
    	 }
     System.out.println("="+sum);
	}
	}

题目:利用递归方法求5!。

class digui{
	public int x(int n){
		if(n==1)
			return 1;
		else 
			return n*x(n-1);
	}
}
public  class exam {

	public static void main(String[] args) {
            digui a = new digui();
            System.out.println("5!="+a.x(5));
	}
	}

题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

public  class exam {
	public static void main(String[] args) {
	   int age=10,d=2,n=5;	
    System.out.println("第五个人的年龄是:"+(age+(n-1)*d));
	}
	}

从第二个人开始 年龄都是相差2  是一个等差数列 直接用 等差公式就行 an=a1+(n-1)*d;

题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

import java.util.*;
public  class exam {
	public static void main(String[] args) {
		int n=0;
	     Scanner input =new Scanner(System.in);
	     System.out.println("请输入一个不多于于5位的正整数:");
	     long number=input.nextLong();
	     long t;
	     System.out.println("此数的逆序为:");
	     while(number>0){
	    	 t=number%10;
	    	 System.out.print(t);
	    	 number/=10;
	    	 n++;
	     }
	   System.out.println("\n它是"+n+"位正整数"); 	 
	}
	}

也可以用字符串来做

import java.util.*;
public class exam {
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();
    int j=ch.length;
    System.out.println(a + "是一个"+ j +"位数。");
    System.out.print("按逆序输出是:");
    for(int i=j-1; i>=0; i--) {
    System.out.print(ch[i]);
   }
   }
   }

题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。   

import java.util.*;
public class exam {
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();
    if(ch[0]==ch[4]&&ch[1]==ch[3])
    	System.out.println("它是回文");
    else
    	System.out.println("它不是回文");
   }
   }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值