11. 十六进制转十进制

​ 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
  注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。

import java.util.Scanner;
public class Main {public static void main(String[] args) {System.out.println(Long.parseLong(new Scanner(System.in).nextLine(), 16));}
}

12. 十六进制转八进制

给定n个十六进制正整数,输出它们对应的八进制数。

import java.util.*;
import java.math.BigInteger;
public class Main{private static Scanner sc=new Scanner(System.in);public static void main(String[] args){int n=sc.nextInt();BigInteger[] a=new BigInteger[n];for(int i=0;i<n;i++){a[i]=new BigInteger(sc.next(),16);//存储16进制数}for(int i=0;i<n;i++){System.out.println(a[i].toString(8));//16进制数转化为8进制数输出}}
}

13. 数列排序

利用字母可以组成一些美丽的图形,下面给出了一个例子:

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。

import java.util.*;
public class Main {public static void main(String[] args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int a[]=new int[n];for(int i=0;i<n;i++)a[i] = sc.nextInt();Arrays.sort(a);//sort方法(自动排序)for(int i:a)System.out.print(i+" ");}
}import java.util.*;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] a = new int[n];for(int i=0;i<n;i++)a[i] = sc.nextInt();//冒泡排序for(int i=0;i<n-1;i++){for(int k=0;k<n-1-i;k++){if(a[k]>a[k+1]){int tmp = a[k];a[k] = a[k+1];a[k+1] = tmp;}}}for (int i : a) {System.out.print(i+" ");}}
}

14. 时间转换

给定一个以秒为单位的时间t,要求用“H:M:S”的格式来表示这个时间。H表示时间,M表示分钟,而S表示秒,它们都是整数且没有前导的“0”。例如,若t=0,则应输出是“0:0:0”;若t=3661,则输出“1:1:1”。

import java.util.*;
public class Main {public static void main(String[] args){Scanner sc=new Scanner(System.in);int n=sc.nextInt();int hours = n/3600;int minutes = n%3600/60;int seconds = n%3600%60;System.out.println(hours+":"+minutes+":"+seconds);}
}

15. 字符串对比

给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一:
  1:两个字符串长度不等。比如 Beijing 和 Hebei
  2:两个字符串不仅长度相等,而且相应位置上的字符完全一致(区分大小写),比如 Beijing 和 Beijing
  3:两个字符串长度相等,相应位置上的字符仅在不区分大小写的前提下才能达到完全一致(也就是说,它并不满足情况2)。比如 beijing 和 BEIjing
  4:两个字符串长度相等,但是即使是不区分大小写也不能使这两个字符串一致。比如 Beijing 和 Nanjing
  编程判断输入的两个字符串之间的关系属于这四类中的哪一类,给出所属的类的编号。

import java.util.*;
public class Main {public static void main(String[] args){Scanner sc=new Scanner(System.in);String s1=sc.next();String s2=sc.next();if(s1.length()!=s2.length()){System.out.println(1);return;}if (s1.length()==s2.length()&&s1.equals(s2)){System.out.println(2);return;}if (s1.length()==s2.length()&&s1.toLowerCase().equals(s2.toLowerCase())){System.out.println(3);return;}if (s1.length() == s2.length() && s1 != s2) {System.out.println(4);return;}}
}

16. 杨辉三角形

求出区间[a,b]中所有整数的质因数分解。

import java.util.*;
public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int number_1= scanner.nextInt();int number_2 = scanner.nextInt();for(int i = number_1;i <= number_2;i++){System.out.println(i+"="+f(i));}}public static String f(int number){for(int i = 2; i < number ; i++){//判断2至a-1之间有没有质因数(素数除了1和本身除外都除不尽)if(number % i == 0){//模运算后为0,表示还可以进一步分解return ""+i+"*"+f(number/i);//有表示不为素数,继续调用自己来进一步分解}}return ""+number;//没有就表示为素数,结束递归,直接返回number,等于他自己}

17. 特殊的数字

给定一个N阶矩阵A,输出A的M次幂(M是非负整数)
例如:
A =
1 2
3 4

A的2次幂
7 10
15 22

import java.util.Scanner;
public class  Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int N = sc.nextInt();int M = sc.nextInt();int[][] juZhenArr = new int[N][N];for(int i = 0; i < N; i++) {for(int j = 0; j < N; j++) {juZhenArr[i][j] = sc.nextInt();}}//M大于1的情况,按乘法计算if(M >= 1) {int[][] juZhenArr_Copy = juZhenArr;for(int i = 1; i < M; i++) {int[][] result = new int[N][N];for(int j = 0; j < N; j++) {for(int k = 0; k < N; k++) {int count = 0;int temp = 0;while(count < N) {//相乘求值temp += juZhenArr[j][count] * juZhenArr_Copy[count][k];count++;}result[j][k] = temp;}}juZhenArr = result;}for(int i = 0; i < N; i++) {for(int j = 0; j < N; j++) {System.out.print(juZhenArr[i][j] + " ");}}}else{//M等于1,输出本身即可if(M == 1){for(int i = 0; i < N; i++) {for(int j = 0; j < N; j++) {System.out.print(juZhenArr[i][j] + " ");}}//M等于0的情况:输出单位矩阵}else if(M == 0){for(int i = 0; i < N; i++) {for(int j = 0; j < N; j++) {if(i == j) {System.out.print(1 + " ");}else {System.out.print(0 + " ");}}}}}}
}

18. 矩形面积交

​平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴。对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积。

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);double[] x = new double[4];double[] y = new double[4];double[] z = new double[4];for(int i=0;i<4;i++){x[i] = sc.nextDouble();y[i] = sc.nextDouble();}z[0] = Math.max(Math.min(x[0], x[1]),Math.min(x[2], x[3])); //x1z[1] = Math.min(Math.max(x[0], x[1]),Math.max(x[2], x[3])); //x2z[2] = Math.max(Math.min(y[0], y[1]),Math.min(y[2], y[3])); //y1z[3] = Math.min(Math.max(y[0], y[1]),Math.max(y[2], y[3])); //y2if(z[0]<z[1]&&z[2]<z[3])System.out.printf("%.2f\n",(z[1]-z[0])*(z[3]-z[2]));elseSystem.out.println("0.00");}
}

19. 完美的代价

​回文串,是一种特殊的字符串,它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串,它不一定是回文的,请你计算最少的交换次数使得该串变成一个完美的回文串。

​交换的定义是:交换两个相邻的字符
  例如mamad
  第一次交换 ad : mamda
  第二次交换 md : madma
  第三次交换 ma : madam (回文!完美!)

import java.util.Scanner;public class Main{  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());}}
}

20. 数的读法

Tom教授正在给研究生讲授一门关于基因的课程,有一件事情让他颇为头疼:一条染色体上有成千上万个碱基对,它们从0开始编号,到几百万,几千万,甚至上亿。
  比如说,在对学生讲解第1234567009号位置上的碱基时,光看着数字是很难准确的念出来的。
  所以,他迫切地需要一个系统,然后当他输入12 3456 7009时,会给出相应的念法:
  十二亿三千四百五十六万七千零九
  用汉语拼音表示为
  shi er yi san qian si bai wu shi liu wan qi qian ling jiu
  这样他只需要照着念就可以了。
  你的任务是帮他设计这样一个系统:给定一个阿拉伯数字串,你帮他按照中文读写的规范转为汉语拼音字串,相邻的两个音节用一个空格符格开。
  注意必须严格按照规范,比如说“10010”读作“yi wan ling yi shi”而不是“yi wan ling shi”,“100000”读作“shi wan”而不是“yi shi wan”,“2000”读作“er qian”而不是“liang qian”。

import java.util.Scanner;public class Main
{static String[] ss = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};public static void main(String[] args){Scanner in = new Scanner(System.in);int num = in.nextInt();int num1 = num / 100000000;int num2 = num % 100000000 / 10000;int num3 = num % 10000;//用来判断前面是否已经开始输出数字了int haveStart = 0;if(num1 != 0){read(num1, haveStart);System.out.print("yi ");haveStart = 1;}if(num2 != 0){read(num2, haveStart);System.out.print("wan ");haveStart = 1;}if(num3 != 0)read(num3, haveStart);}static void read(int num, int haveStart){//用来判断前面的位置是否是0int haveZero = 0;//千位if(num / 1000 == 0)haveZero = 1;else {System.out.print(ss[num / 1000] + " qian ");haveStart = 1;}//百位if(num % 1000 / 100 == 0)haveZero = 1;else {if(haveZero == 1 && haveStart == 1)System.out.print("ling ");System.out.print(ss[num % 1000 / 100] + " bai ");haveZero = 0;haveStart = 1;}//十位if(num % 100 / 10 == 0)haveZero = 1;else {if(haveZero == 1 && haveStart == 1)System.out.print("ling ");//判断整个数是不是以1开头的数字,如果不是就在这里输出yi shi……if(haveStart == 1)System.out.print(ss[num % 100 / 10] + " ");System.out.print("shi ");haveZero = 0;haveStart = 1;}//个位if(num % 10 == 0)haveZero = 1;else {if(haveZero == 1 && haveStart == 1)System.out.print("ling ");System.out.print(ss[num % 10] + " ");}}//第一种
import java.util.*;
public class Main {public static void main(String[] args) {System.out.println(Integer.toHexString(new Scanner(System.in).nextInt()).toUpperCase());}
}
//第二种
import java.util.*;
public class Main {public static void main(String[] args) {int a = new Scanner(System.in).nextInt();int j;String sb = "";do{j = a%16;switch (j) {case 10:sb="A"+sb;break;case 11:sb="B"+sb;break;case 12:sb="C"+sb;break;case 13:sb="D"+sb;break;case 14:sb="E"+sb;break;case 15:sb="F"+sb;break;default:sb=j+sb;break;}a = a/16;}while(a!=0);System.out.println(sb);}
}

java 蓝桥杯 基础练习(二)相关推荐

  1. Java蓝桥杯--基础练习(7)特殊回文数

    关键词: 回文数 循环 条件语句 2 题目: 解决方法(朕): 1 package com.algorithm.java.blueBirdge; 2 3 import java.util.Scanne ...

  2. java 蓝桥杯 基础练习 Sine之舞

    问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功.所以他准备和奶牛们做一个"Sine之舞"的游戏,寓教于乐,提高奶牛们的计算能力 ...

  3. java 蓝桥杯 基础练习 FJ的字符串

    问题描述 FJ在沙盘上写了这样一些字符串: A1 = "A" A2 = "ABA" A3 = "ABACABA" A4 = "AB ...

  4. java蓝桥杯 基础练习 芯片测试

    问题描述 有n(2≤n≤20)块芯片,有好有坏,已知好芯片比坏芯片多. 每个芯片都能用来测试其他芯片.用好芯片测试其他芯片时,能正确给出被测试芯片是好还是坏.而用坏芯片测试其他芯片时,会随机给出好或是 ...

  5. 蓝桥杯--基础(二)

    1.切面条 一根高筋拉面,中间切一刀,可以得到2根面条. 如果先对折1次,中间切一刀,可以得到3根面条. 如果连续对折2次,中间切一刀,可以得到5根面条. 那么,连续对折10次,中间切一刀,会得到多少 ...

  6. 蓝桥杯 基础练习VIP FJ的字符串 java

    蓝桥杯 基础练习VIP FJ的字符串 java 题目 题目描述 FJ在沙盘上写了这样一些字符串: A1 = "A" A2 = "ABA" A3 = " ...

  7. 蓝桥杯基础试题练习小结(vip)(二)

    试题 基础练习 矩形面积交 问题描述 平面上有两个矩形,它们的边平行于直角坐标系的X轴或Y轴.对于每个矩形,我们给出它的一对相对顶点的坐标,请你编程算出两个矩形的交的面积. 输入格式 输入仅包含两行, ...

  8. 蓝桥杯 基础练习 01字串 C/C++/Java/Python描述

    蓝桥杯 基础练习 01字串 C/C++/Java/Python描述   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博 ...

  9. 蓝桥杯 基础练习 字母图形 JAVA

    蓝桥杯 基础练习 字母图形 JAVA 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个5行7列的 ...

最新文章

  1. Eclipse启动失败:No java virtual machine was found after searching the follwing locations
  2. pandas使用fillna函数并设置bfill参数使用列中的后序值填充缺失值
  3. 关于在linux下搭建VSFTP下匿名不能上传的问题
  4. 解决windows版 duet display无法正常连接 【看完就会】
  5. 【android】静态链接器/加载器(ld) 动态加载器(/system/bin/linker)+动态加载接口(dlopen)
  6. 深度学习(08)-- Residual Network (ResNet)
  7. drupalchina--如何翻译及如何上传翻译的内容?
  8. 九大内置对象及四个域对象的总结
  9. 大数据分析师应掌握哪种编程语言
  10. 【iPod转换精灵V10.2 官方最新版】强大的视频转换功能
  11. django 文件下载到本地
  12. 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档
  13. 【Tableau server日常维护9.0】window server2016 Tableau server保姆教学安装
  14. Bug 20186278 - crfclust.bdb Becomes Huge Size Due to Sudden Retention Change (文档 ID 20186278.8)
  15. 大数据薪水大概多少_大数据工程师工资一般多少钱
  16. 关于web项目log日志指定输出文件位置配置
  17. 业聚医疗在港交所上市:市值约76亿港元,钱永勋、刘桂祯夫妇控股
  18. 烽火算法2.0新升级,打击覆盖范围大大提升
  19. 微信小程序清除缓存clearStorageSync和removeStorageSync的区别 清除缓存问题 数据缓存详解
  20. 诺基亚n1支持java功能_诺基亚N1支持扩展卡吗?诺基亚N1支持多大的储存卡?

热门文章

  1. 身为程序员,就应该了解微服务的未来发展趋势:云原生应用架构
  2. 年轻人纵横职场高情商话术
  3. 淘宝客导购产品设计(二)
  4. 微信个人号客服系统淘宝客发单机器人sdk服务端接口列表
  5. onenote文本每一行出现绿色背景和旁边出现作者信息的完美解决方法
  6. 【日语】日语商务情景口语
  7. 中医五行学说详细资料
  8. 【自动驾驶行业观察】奥迪A8自动驾驶功能剖析
  9. 基于hi3531、ffmpeg、x264的h264压缩
  10. 计算机如何删除已连接的打印机驱动程序,hp打印机驱动怎么彻底卸载 hp打印机驱动卸载教程...