蓝桥杯【基础练习】(一)

基础练习

一、杨辉三角形

题目描述

杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。

它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。

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

1

1 1

1 2 1

1 3 3 1

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

输入格式

1 // 包含一个整数n

样例输出

1
1 1
1 2 1
1 3 3 1
// n行的杨辉三角形

代码

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Main{
    
                                                                                                                                      
	public static void main(String[] args) {
    
    
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		List<List<Integer>> res = new ArrayList<List<Integer>>();
		for(int i = 0; i < n; i++) {
    
    
			List<Integer> ans = new ArrayList<Integer>();
			for(int j = 0; j <= i; j++) {
    
    
				if(j == 0 || j == i) {
    
    
					ans.add(1);
				} else {
    
    
					ans.add(res.get(i - 1).get(j - 1) + res.get(i - 1).get(j));
				}
				System.out.print(ans.get(j) + " ");
			}
			System.out.println();
			res.add(ans);
		}
	}
}

二、十六进制转八进制

题目描述

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

输入格式

输入的第一行为一个正整数n (1<=n<=10)。
接下来n行,每行一个由0~ 9、大写字母A~F组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

输出格式

输出n行,每行为输入对应的八进制正整数。

样例输入

2
39
123ABC

样例输出

71
4435274

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;

public class Main{
    
                                                                                                                                      
	public static void main(String[] args) {
    
    
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		String[] arr = new String[n];
		int temp = n;
		while(temp > 0) {
    
    
			String val = sc.next();
			BigInteger bg = new BigInteger(val, 16);
			String str = bg.toString(8);
			arr[n - temp] = str;
			temp--;
		}
		for(String s : arr) {
    
    
			System.out.println(s);
		}
	}
}

三、字母图形

题目描述

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

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

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

输入格式

输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。

输出格式

输出n行,每个m个字符,为你的图形。

样例输入

5 7

样例输出

ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC

代码

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();
		for(int i = 0; i < n; i++) {
    
    
			for(int j = 0; j < m; j++) {
    
    
				// 65在ASCII中对应的是A,Math.abs(i - j) % 26求出i-j的绝对值和26取模,防止溢出
				char ch = (char) (65 + Math.abs(i - j) % 26);
				System.out.print(ch);
			}
			System.out.println();
		}
	}
}

猜你喜欢

转载自blog.csdn.net/weixin_45832482/article/details/122990730
今日推荐