哈尔滨网站建设30t/学推广网络营销去哪里
目录
- 10、十进制转十六进制
- 11、十六进制转十进制
- 12、十六进制转八进制
- 13、数列排序
- 14、时间转换
- 15、字符串对比
- 16、分解质因数
- 17、矩阵乘法
- 18、矩形面积交
- 19、完美的代价
10、十进制转十六进制
import java.util.Scanner;//法一:100分
public class 十进制转十六进制_10 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();
// System.out.println(Integer.toBinaryString(n)); //二进制
// System.out.println(Integer.toOctalString(n));//八进制System.out.println(Integer.toHexString(n).toUpperCase()); //十六进制}
}
11、十六进制转十进制
import java.math.BigInteger;
import java.util.Scanner;//法1: 100分
public class 十六进制转十进制_11 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String str = sc.nextLine();String Oct=new BigInteger(str, 16).toString(10);System.out.println(Oct);}
}
12、十六进制转八进制
import java.math.BigInteger;
import java.util.Scanner;
//法1: 100分
public class 十六进制转八进制_12 {/* 给定n个十六进制正整数,输出它们对应的八进制数。 */public static void main(String[] args) {Scanner sc=new Scanner(System.in);//获取nint n=sc.nextInt();//定义数组来存放转换后的数String []arr=new String[n];//循环然后进行16进制转换为8进制for(int i=0;i<n;i++) {//获取16进制数(注意next和nextInt区别)String sixteen=sc.next();//由于数字可能会越界,所有使用BigInteger的api//new BigInteger(number, from).toString(to);//number:要转换的数 from:原数的进制 to:要转换成的进制String eight=new BigInteger(sixteen, 16).toString(8);//将结果存入arr中arr[i]=eight;}//遍历数组并打印for(int i=0;i<n;i++) {System.out.println(arr[i]);}}
}
13、数列排序
import java.util.Scanner;public class 数列排序_13 {public static void main(String a[]) {Scanner in = new Scanner(System.in);int n=in.nextInt();int f[] =new int[n];for (int i = 0; i < n; i++) {f[i]=in.nextInt();}int b = 0;for(int i =0;i<n-1;i++) {for(int j = i+1;j<n;j++) {if(f[i]>f[j]) {b = f[i];f[i] = f[j];f[j] = b;}}}for(int i =0;i<n;i++) {System.out.printf("%d ",f[i]);}}}
14、时间转换
import java.util.Scanner;public class 时间转换_14 {public static void main(String a[]) {Scanner in = new Scanner(System.in);int n=in.nextInt();int H=n/3600;int M=(n-H*3600)/60;int S=(n-H*3600)-60*M;System.out.print(H+":"+M+":"+S);}}
15、字符串对比
import java.util.Scanner;public class 字符串比较_15 {public static void main(String a[]) {Scanner in = new Scanner(System.in);String []arr=new String[2];for (int i = 0; i < arr.length; i++) {arr[i]=in.next();}if(arr[0].length()!=arr[1].length()){System.out.print("1");}else {if(arr[0].equals(arr[1]) ){System.out.print("2");}else if (arr[0].toUpperCase().equals(arr[1].toUpperCase())) {System.out.print("3");}else {System.out.print("4");}}}
}
16、分解质因数
import java.util.Scanner;public class 分解质因数_16 {//质数: 质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。//0和1既不是质数也不是合数,最小的质数是2public static void main(String[] args) {Scanner in = new Scanner(System.in);int a = in.nextInt();int b = in.nextInt();for(;a<=b;a++){int temp = a;boolean flag = false;System.out.print(temp+"=");while(temp!=1){for(int i=2;i<=temp;i++){if(isPrime(i)&&temp%i==0){if(flag){System.out.print("*"+i); }else{flag = true;System.out.print(i);}temp /= i; break;}}}System.out.println();}}public static boolean isPrime(int n){if(n<2)return false;if(n==2)return true;if(n%2==0)return false;for(int i=3;i*i<=n;i+=2){if(n%i==0){return false;}}return true;}}
17、矩阵乘法
import java.util.Scanner;
public class 矩阵乘法_17 {private static int N;//矩阵A的阶数private static int[][] matrix; //矩阵Apublic static void main(String[] args) {Scanner sc = new Scanner(System.in);N = sc.nextInt();int M = sc.nextInt(); //要求的幂数matrix = new int[N][N]; //原矩阵//输入矩阵数据 for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {matrix[i][j] = sc.nextInt();}}//新矩阵int[][] newMatrix = new int[N][N];//幂数为0的情况if (M == 0) {for (int i = 0; i < N; i++) {newMatrix[i][i] = 1;}//幂数不为0的情况 } else {newMatrix = matrix;for (int i = 0; i < M - 1; i++) {newMatrix = matriMultiplication(newMatrix);}}//输出新矩阵for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {System.out.print(newMatrix[i][j] + " ");}System.out.println();}}private static int[][] matriMultiplication(int[][] matrixParam) {int[][] newMatrix = new int[N][N];for (int i = 0; i < N; i++) {for (int j = 0; j < N; j++) {for (int k = 0; k < N; k++) {newMatrix[i][j] += matrixParam[i][k] * matrix[k][j];}}}return newMatrix;}
}
18、矩形面积交
import java.util.Scanner;
public class 矩形面积交_18 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//获得四个点的坐标double x1 = sc.nextDouble(),y1=sc.nextDouble(),x2=sc.nextDouble(),y2 = sc.nextDouble();double x3 = sc.nextDouble(),y3=sc.nextDouble(),x4=sc.nextDouble(),y4 = sc.nextDouble();//关闭Scanner方法sc.close();//找出矩形一的最大最小值x,最大最小ydouble maxx = Math.max(x1,x2);double minx = Math.min(x1, x2);double maxy = Math.max(y1, y2);double miny =Math.min(y1, y2);//找出矩形二的最大最小值x,最大最小ydouble bigx = Math.max(x3,x4);double smax = Math.min(x3, x4);double bigy = Math.max(y3, y4);double smay =Math.min(y3, y4);//判断是否相离或者相切if(smax>=maxx||minx>=bigx ||smay>=maxy||miny>=bigy){System.out.println("0.00");}else{//找出相交的矩形的两个点,点1(xx,yy) 点2(x,y)double xx = Math.max(minx, smax),yy=Math.max(miny, smay);double x = Math.min(maxx, bigx),y=Math.min(maxy, bigy);System.out.println(String.format("%.2f", (Math.abs(x-xx)*Math.abs(y-yy))));}}
}
19、完美的代价
package a;
import java.util.Scanner;
public class 完美的代价_19 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();String str = sc.next();//将输入字符串转换为char数组char[] charArr = str.toCharArray();//求出现的次数为奇数的字母个数 int[] num = new int[26];//记录每个字母出现的个数for(int i = 0; i < n; i++) {num[charArr[i] - 'a']++;}//出现次数为奇数的字母个数int count = 0;for(int i = 0; i < 26; i++) {if(num[i] != 0) {if(num[i] % 2 != 0) {count++;}}}//若个数大于等于2个,则直接返回Impossibleif(count >= 2) {System.out.println("Impossible");}else{System.out.println(getCount(str));}}static int getCount(String str) {//1,2长度是无需交换if(str.length()==1 || str.length()==2) return 0;//取字符串第一个字符最后一次出现的位置int temp = str.lastIndexOf(str.charAt(0));if(temp==0){return str.length()/2 + getCount(str.substring(1,str.length()));} else {//0号位字符和已找到temp位置的字符都移除,然后进行递归 //String remoStr = str.substring(1, temp) + str.substring(temp + 1,str.length()); //这么写不知道那组数据不对StringBuilder strBuilder = new StringBuilder(str);strBuilder.deleteCharAt(temp);strBuilder.deleteCharAt(0); //System.out.println(temp +".."+ remoStr);return str.length()-temp-1 + getCount(strBuilder.toString());}}
}