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]);
		}
	}
}

  运行结果

时间: 2024-12-07 16:26:49

Java习题的相关文章

Java习题练习

Java习题练习 1. 依赖注入和控制反转是同一概念: 依赖注入和控制反转是对同一件事情的不同描述,从某个方面讲,就是它们描述的角度不同.依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源:而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源. 2. C    load方法来得到一个对象时,此时hibernate会使用延迟加载的机制来加载这个对象,即:当 我们使用session.lo

一些基础Java习题

1. 在文本文件book.txt中包含有很长篇幅的英语短文,编写程序要求统计文件的所有短文中包含英文字母"A"的个数 package iowork; import java.io.File; import java.io.FileInputStream; import java.io.IOException; /**2014-11-15 * @author Administrator *1. 在文本文件book.txt中包含有很长篇幅的英语短文,编写程序要求统计文件的所有短文中包含英文

java习题-集合框架-泛型

集合框架 一 去除List集合中的重复元素. 思路: 1,先创建一个临时容器.用于存储唯一性的元素.2,遍历原容器,将遍历到的元素到临时容器中去判断,是否存在.3,如果存在,不存储到临时容器,如果不存在,存储到临时容器中.4,遍历结束后,临时容器中存储的就是唯一性的元素.5,如果需要将这些唯一性的元素保留到原容器中,只要将原容器清空,将临时容器中的元素添加到原容器中即可.代码实现 package cn.itcast.api.b.list.subclass; import java.util.Ar

Java习题(选择,冒泡排序,折半查找)

解决问题如下: 1.求1+2!+3!+...+20!的和. 2.获取数组中的最大和最小值. 3.对数组进行选择排序.冒泡排序. 4.在数组中查找某个数的位置(折半查找). 折半查找:      适合顺序表的查找,数组中存的是按顺序排列的元素,方法如下:定义变量low,mid,high分别指向数组中的最低位,中间和最高位的元素:比较要查找的元素和mid指向的元素,如果比mid大,则在mid和high之间继续查找,low=mid+1; 否则在low和mid之间继续查找,high=mid-1.直到lo

Java习题_Chp11-14_ *(自定义异常)完成某个计费系统的用户登录和注册模块,要求如下:

*(自定义异常)完成某个计费系统的用户登录和注册模块,要求如下: 1)创建一个User 类,包括:用户登录名(username).密码(password).用户真实姓名(name).电子邮件地址(email)属性和相应的构造方法及set/get 方法. 2)创建两个自定义异常类,一个LoginException,表示登录异常.一个RegisterException,表示注册异常.自定义的两个异常,都要求有一个接受字符串类型参数的构造方法. 3)创建一个UserBiz 接口,该接口中定义两个方法:

java习题:倒序输出一行字符串

倒序输出一行字符串: public static void main(String[] args) { System.out.println("请输入一行字符串(按Enter执行):"); Scanner input = new Scanner(System.in); String str = input.next(); daoxu(str); } /** * 将字符串倒序 * @param str */ public static void daoxu(String str) { S

java解惑之再探取余

整数无所谓 关键是负数 c++,java的求余: 除数和被除数取绝对值求余,最后的符号跟着除数 如:-7%3=-1:-7%(-3)=-1 Python等, a%b 1.先求tmp=|a|%|b| 2.如果a<0&&b<0,-tmp 3.如果a<0&&b>0,tmp+b 4.如果a>0&&b<0,tmp-b http://ceeji.net/blog/mod-in-real/ 背景 最近在一道 Java 习题中,看到这样的一

Java_习题解答

遇到的java习题,记录下来.以下是一些题目和较好的解答. 1. public class Example{ String str=new String("good"); char[]ch={'a','b','c'}; public static void main(String args[]){ Example ex=new Example(); ex.change(ex.str,ex.ch); System.out.print(ex.str+"and"); Sy

信息安全-3:负数取模[转]

背景 最近在一道 Java 习题中,看到这样的一道题: What is the output when this statement executed:System.out.printf(-7 % 3); 正整数的取余运算大家都很熟悉,但是对于负数.实数的取余运算,确实给人很新鲜的感觉.于是我对此进行了一些探索.我发现,这里面还是颇有一点可以探索的东西的. 探究 首先,看看自然数的取模运算(定义1): 如果a和d是两个自然数,d非零,可以证明存在两个唯一的整数 q 和 r,满足 a = qd +