18
package javaapplication11;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
import java.util.Scanner;
/**
*
* @author lenovo
*/
public class JavaApplication11 {
/**
* @param args the command line arguments
* 2018年初试
* 1、输出a与b之间的全部素数,每5个素数换一行
* 2、回文数,不需要输入全部数据之后再统一处理,如输入1212时,121已经输出,这里这个我没有实现此功能,有看到的会的希望可以留言交流一下啦
* 3、输入字符串,输出其中包含的单词个数
* 4、输入N*N方阵中的全部数据,计算每列元素的最大值之和
* 5、进制数转换
* 6、输入小李的出生日期,计算他从出生到今天共经历了多少个2月29日
* 7、某班级有50位同学,依次输入每位同学的姓名和生日,输入生日格式为yyy/mm/dd,按照年龄从大到小顺序输出每位学生的姓名,每个名字占一行
* 8、汉诺塔问题
* 9、蛇形矩阵
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner sc =new Scanner(System.in);
/* System.out.println("please input a and b respectively");
int a=sc.nextInt();
int b=sc.nextInt();
int count=0;
for(int i=a;i<=b;i++){
if(isPrime(i)){
count++;
System.out.print(i+" ");
if(count%5==0){
System.out.println();
}
}
}
}
public static boolean isPrime(int x) {
boolean flag=false;
for(int i=2;i<x;i++){
if(x%i==0){
return flag;
}
}
return flag=true;
}*/
/* String str=sc.nextLine();
char ch[]=str.toCharArray();
if(ishuiwenshu(ch)){
System.out.println("yes");
}
else{
System.out.println("no");
}
}
public static boolean ishuiwenshu(char[] ch) {
boolean flag=true;
for (int i =0;i<ch.length;i++){
if(ch[i]!=ch[ch.length-1]){
return flag=false;
}
}return flag;
}*/
/*
//3
String str=sc.nextLine();
String str2[]=str.trim().split(" ");//将字符串转换为字符串数组
System.out.println(str2.length);*/
//4
/* int N=sc.nextInt();
int sum=0;
int a[][]=new int[N][N];
int b[]=new int[N*N];
int index=0;
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
a[i][j]=sc.nextInt();
}
}
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
b[index]= a[i][j];
index++;
}
}
Arrays.sort(b);
for(int i=0;i<N*N;i++){
System.out.print(b[i]);
}
//System.out.println("--------");//测试行
for(int i=N*N-1;i>=N*N-N;i--){
sum+=b[i];
System.out.println(b[i]);//因为是计算每列元素的最大值,所以最大值个数肯定是n列个
}
System.out.println(sum);*/
//4
/*for(int j=0;j<N;j++){
int max=a[0][j];//每一列的第一个数
for(int i =0;i<N;i++){
if(max<a[i][j])
max=a[i][j];
}b[j]=max;
}//存储每一列的最大值
for(int i=0;i<N;i++){
sum+=b[i];
System.out.print(b[i]+" ");
}
System.out.println(sum);*/
//5
/*int m=sc.nextInt();//输入几进制
int n=sc.nextInt();//打算输出几进制
String a=sc.next();//输入的进制数,注意此处不能是nextLine(),因为此方法会将前后的空格和Tab键吸收
//而next()方法不会吸收字符前后的空格和Tab键,只吸取字符,遇到空格或者回车结束吸取
int c=Integer.parseInt(a,m);//以m进制接收a变成10进制数
//System.out.println(c);
String ss=Integer.toString(c, n);//将10进制数c转换为n进制
System.out.println(ss);*/
//6
/* int year=sc.nextInt();
int month=sc.nextInt();
int day=sc.nextInt();
Date d=new Date(System.currentTimeMillis());
SimpleDateFormat sdf=new SimpleDateFormat("yyy_MM_dd");
String current=sdf.format(d);
String str[]=current.split("_");
int b=Integer.parseInt(str[0]);
System.out.println(b);
int count=0;
for(int i=year;i<=b;i++){
//System.out.println("=========");
if(isRunNian( i)){
System.out.println("runnian"+i);
count++;}
}
int z=Integer.parseInt(str[1]);
int x=Integer.parseInt(str[2]);
if(isRunNian(year)&&month>=2){ count--;}
if(isRunNian(b)&&z<=2&&x<=28){count--;}
System.out.println(count);
}
public static boolean isRunNian(int i){
if((i%100!=0&&i%4==0)||(i%400==0))
return true;
return false;*/
//7题不会,看别人的类似解法好像用到了hashSet集合的特性,我现在不是很会集合
//8
/*
hanoi(3,'a','b','c');//此处因为hanoi()是静态的,又在本类中,故可以不用"类名."来调用,若不是静态的,则需要“引用.”来调用
}
public static void hanoi(int n,char A,char B,char C){
if(n==1) move(A,C);
else{
hanoi(n-1,A,C,B);//注意此处是n-1,将n-1个元素从A借助B挪到C
move(A,C);
hanoi(n-1,B,C,A);//将剩余的n-1个元素从B借助A挪到C
}
}
public static void move(char A,char C){
System.out.println(A+"----->"+C);
}*/
//17年复试出现过,对于蛇形矩阵现在还是不会写
}}