Java习题

另一种阶乘问题

描述

  大家都知道阶乘这个概念,举个简单的例子:5!=1*2*3*4*5.现在我们引入一种新的阶乘概念,将原来的每个数相乘变为i不大于n的所有奇数相乘例如:5!!=1*3*5.现在明白现在这种阶乘的意思了吧!

  现在你的任务是求出1!!+2!!......+n!!的正确值(n<=20)

输入

  第一行输入一个a(a<=20),代表共有a组测试数据
接下来a行各行输入一个n.

输出

  各行输出结果一个整数R表示1!!+2!!......+n!!的正确值

import java.util.Scanner;
public class  *{
	public static void main(String[] args){	
		System.out.println("请输入一个整数");
		Scanner scanner=new Scanner(System.in);//控制台输入,需要导入Scanner类,实例化
		int ru=scanner.nextInt();
		int sum=0;
		for(int n=1;n<=ru;n++){
			int ss=1;
			for(int a=1;a<=n;a+=2){
			ss*=a;
			}
			sum+=ss;
		}
		System.out.println("计算结果为"+sum);
	}
}
 数的分解
 描述
  你的任务是找到一个最小的正整数Q,使Q的各位数的乘积等于N。
输入
      最多450组测试数据。数据以EOF结尾。
输入一个整数N(0 ≤ N ≤ 400)。
输出
输出Q,如果Q不存在则输出−1。
package Empdept;

import java.util.Scanner;

public class * {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt();
		for (int i = 0; i < 100; i++) {
			if (getValue(i)==n) {
				System.out.println(i);break;
			}
		}
	}
	
	public static int getValue(int x) {
		int ss=1;
		while (x!=0) {
			ss*=x%10;
			x=x/10;
		}
		return ss;
	}
车牌号
描述
茵茵很喜欢研究车牌号码,从车牌号码上可以看出号码注册的早晚,据研究发现,车牌号码是按字典序发放的,现在她收集了很多车牌号码,请你设计程序帮她判断注册较早的号码。车牌号码由5个字母或数字组成
 
输入
 
第一行是n,代表有n组数据,第二行是m,以下m行是m个车牌号码
其中n<100,m<1000
输出
输出注册较早的车牌号
package timu1;

import java.util.Arrays;
import java.util.Scanner;

public class * {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		
		System.out.print("请输入行数");
		int n=scanner.nextInt();
		System.out.println("请输入"+n+"车牌号");
		
		String strs[]=new String[n];
		for (int i = 0; i < strs.length; i++) {
			strs[i]=scanner.next();
		}
		Arrays.sort(strs);//数组排序,需要导入Arrays类,依据的是unicode编码
		for (int i = 0; i < strs.length; i++) {
			System.out.println(strs[i]);
		}
	}
}

  运行结果

原文地址:https://www.cnblogs.com/dldrjyy13102/p/7518543.html