栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

蓝桥练习系统——基础练习(非vip题目)汇总【Java】

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

蓝桥练习系统——基础练习(非vip题目)汇总【Java】

大家好,这里是祁十一!准备记录一下自己的备赛情况,这是在蓝桥杯的练习系统中做的一些题目,每天会做几道题啥的,基本上就是顺一下我的思路,做一下题目啥的,希望大家能理解我说的话吧!(如果有人看到的话哈哈哈)

目录

一、入门篇

1、A+B问题

2、序列求和

3、圆的面积

4、Fibonacci数列

二、基础篇

1、闰年判断

2、01字串

3、字母图形

4、数列特征

5、查找整数

6、杨辉三角

7、特殊的数字

8、回文数

9、特殊回文数

10、十进制转十六进制

11、十六进制转十进制

12、十六进制转八进制

13、数列排序


一、入门篇

1、A+B问题

【题目】输入A、B,输出A+B。

public class Main
{
    public static void main(String args[])
    {
        Scanner sc = new Scanner(System.in);
        Integer a = sc.nextInt();
        Integer b = sc.nextInt();
        System.out.println(a + b);
    }
}

2、序列求和

【题目】求1+2+3+...+n的值。(1 <= n <= 1,000,000,000)

        这个题有两种解题方法:一个是直接相加,另一个是用等差数列求和公式。

//直接相加
import java.util.*;
public class Main{
	public static void main(String[] args) {
		long n = new Scanner(System.in).nextInt();
		long  sum=0;
	    for(long i=0;i<=n;i++) {
	    	sum+=i;
	    }
	    System.out.print(sum);
	}
}
//用等差求和公式
import java.util.*;
public class Main{
    public static void main(String[] args) {
	    long result = 0;
	    Scanner scanner=new Scanner(System.in);
	    long n=scanner.nextLong();
	    if (1<=n&&n<=1000000000) {
		    result=(n*(n+1))/2;
	    }
	    System.out.println(result);
    }
}

3、圆的面积

【题目】给定圆的半径r,求圆的面积。(输出结果保留小数点后7位)

        注意这个小数点后七位的表示!

import java.util.*;
public class Main{
	public static void main(String[] args) {
		int r = new Scanner(System.in).nextInt();
	    System.out.printf("%.7f",(Math.PI*r*r));
	}
}

4、Fibonacci数列

【题目】Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。

当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。

        当计算只包含加法、减法和乘法的整数表达式除以正整数n的余数,可以在每步计算之后对n取余,结果不变。

import java.util.*;
public class Main {
public static void main(String[] args) {
        int[] a = new int[10000001];
        a[1] = 1;
        a[2] = 1;
        int n = new Scanner(System.in).nextInt();
        for (int i=3; i<=n; i++){
            a[i] = (a[i-1]+a[i-2])%10007;
        }
        System.out.println(a[n]);
    }
}

二、基础篇

1、闰年判断

【题目】给定一个年份,判断这一年是不是闰年。

        闰年条件:1. 年份是4的倍数而不是100的倍数;2. 年份是400的倍数。

import java.util.*;
public class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int year=sc.nextInt();
		if(((year%4)==0 && (year%100!=0)) ||year%400==0) {
			System.out.println("yes");
		}else System.out.println("no");
		
	}
}

2、01字串

【题目】对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:00000  00001  00010  00011  00100... ...请按从小到大的顺序输出这32种01串。

        注意5位长度的表示;学会利用Java中的函数。

import java.util.*;
public class Main{
	public static void main(String[] args) {
		for(int i=0;i<32;i++){
            //将整数转化为二进制字符串
			String result = Integer.toBinaryString(i);
            //将字符串转化为整数
			int  n = Integer.parseInt(result);
			System.out.printf("%05dn",n);
		}
	}
}

3、字母图形

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

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

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

        ASCII码将数字与字母联系起来,找到行列之间的下标关系,找规律!

import java.util.*;
public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		for(int i = 0 ; i < n; i++) {
			for(int j = 0 ; j < m ;j++) {
				char c = (char)(Math.abs(i - j) + 'A');
				System.out.print(c);
			}
			System.out.println();
		}
	}
}

4、数列特征

【题目】给出n个数,找出这n个数的最大值,最小值,和。(1 <= n <= 10000)

        两边取极端,向中间靠近,求得最大、最小值。

import java.util.*;
public class Main{
	public static void main(String[] args) {
		Scanner sc =new Scanner(System.in);
		int n=sc.nextInt();
		int[] arr=new int [n];
		int sum=0,t;
		int min=10000;
		int max=-10000;
		for(int i=0;imax)
				max=t;
			else max=max; 
			if(t 

5、查找整数

【题目】给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。

import java.util.*;
public class Main{
	public static void main(String[] args) {
		Scanner sc =new Scanner(System.in);
		int n=sc.nextInt();
		int[] arr=new int [n];
		for(int i=0;i 

6、杨辉三角

【题目】杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。

下面给出了杨辉三角形的前4行: 

   1 

  1 1 

 1 2 1 

1 3 3 1

给出n,输出它的前n行。

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][n];
		for(int i=0;i

7、特殊的数字

【题目】153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。

        注意数字的每一位的表示!!!

public class Main{
	public static void main(String[] args) {
		for(int n=100;n<=999;n++) {
			int a=n%10;
			int b=(n/10)%10;
			int c=n/100;
			if(n==((a*a*a)+(b*b*b)+(c*c*c))) {
				System.out.println(n);
			}
		}
	}
}

8、回文数

【题目】1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。

public class Main{
	public static void main(String[] args) {
		for(int i=1000;i<10000;i++) {
			int a=i%10;
			int b=((i-a)/10)%10;
			int c=((((i-a)/10)-b)/10)%10;
			int d=((((((i-a)/10)-b)/10)-c)/10)%10;	
			if(a==d&&b==c) {
				System.out.println(i);
			}			
		}		
	}
}

9、特殊回文数

【题目】123321是一个非常特殊的数,它从左边读和从右边读是一样的。
输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。

import java.util.*;
public class Main{
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		for(int i=10000;i<999999;i++) {
			if(i/100000==0) {
				int a=i%10;
			    int b=((i-a)/10)%10;
				int c=((((i-a)/10)-b)/10)%10;
				int d=((((((i-a)/10)-b)/10)-c)/10)%10;
				int e=((((((((i-a)/10)-b)/10)-c)/10)-d)/10)%10;
				if(a==e&&b==d&&(a+b+c+d+e)==n) {
					System.out.println(i);
				}
			} else {
				int a=i%10;
			    int b=((i-a)/10)%10;
				int c=((((i-a)/10)-b)/10)%10;
				int d=((((((i-a)/10)-b)/10)-c)/10)%10;
				int e=((((((((i-a)/10)-b)/10)-c)/10)-d)/10)%10;
				int f=((((((((((i-a)/10)-b)/10)-c)/10)-d)/10)-e)/10)%10;	
				if(a==f&&b==e&&c==d&&(a+b+c+d+e+f)==n) {
					System.out.println(i);
				}
			}
		}	
	}
}

10、十进制转十六进制

【题目】给出一个非负整数,将它表示成十六进制的形式。

        static String valueOf(char c)  返回 char参数的字符串 char形式。

import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		long a  = sc.nextLong();
		StringBuilder str = new StringBuilder();
		int x;
		if(a==0){
			System.out.println(0);
			return ;
		}
		while(a>0){
			x = (int) (a % 16);
			switch(x){
			case 10: str.append("A");break;
			case 11: str.append("B");break;
			case 12: str.append("C");break;
			case 13: str.append("D");break;
			case 14: str.append("E");break;
			case 15: str.append("F");break;
			default: str.append(String.valueOf(x));break;
			}
			a = a/16;
		}
		StringBuilder ans = new StringBuilder();
		for(int i=str.length()-1;i>=0;i--){
			ans.append(str.charAt(i)); 
		}
		System.out.println(ans);
	}
}

11、十六进制转十进制

【题目】输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。

        按权展开,注意位数的变化。ans = ans+x*((long)Math.pow(16, dig));

import java.util.*;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
		long ans=0;
		int  dig = str.length()-1;
		for(int i=0;i 

12、十六进制转八进制

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

        当二进制数位置不够时,进行补位;

        StringBuilder可用来申明可变字符串; charAt(i)可以用来遍历字符串中的每个字符。

import java.util.Scanner;
public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		for(int cnt=0;cnt0)
			System.out.print(ans);
		boolean flog = true;
		for(int i=s;i 

13、数列排序

【题目】给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200

        冒泡排序要记牢!!!

import java.util.*;
public class Main {
	public static void main(String[] args) {
	 Scanner scanner = new Scanner(System.in);
	 int n;
	 int[] arr = new int[205];
	 n = scanner.nextInt();
	 for(int i = 0 ; i < n ; i++)
		 arr[i] = scanner.nextInt();
	 sort(arr,n);
	 for(int i = 0 ; i < n ; i++)
		 System.out.print(arr[i] + " ");
	}
	private static void sort(int[] arr,int n) {
	 for(int i = 0; i < n  - 1 ;i++)
	 {
		 for(int j = 0 ; j < n - 1 - i ; j++)
			 if(arr[j] > arr[j + 1])
			 {
				 int t = arr[j + 1];
				 arr[j + 1] = arr[j];
				 arr[j] = t;
			 }
	     }
	}
}

总而言之,言而总之,这个基础练习果然比较基础,继续要加油啊!!!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731974.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号