【牛客小题练手】----平方矩阵

ced485cbb11e458d81a746890b32cf3f.gif

作者 : whispar

专栏 : 小题练手​​​​​​

刷题,面试,求职,快来牛客网一起成为offer收割机!

点击注册收割offer

活动地址:CSDN21天学习挑战赛

平方矩阵Ⅱ 

输入整数 N,输出一个 N 阶的二维数组,数组的形式参照样例。

输入格式 

输入包含多行,每行包含一个整数 N。

当输入行为 N=0 时,表示输入结束,且该行无需作任何处理。

输出格式

对于每个输入整数 N,输出一个满足要求的 N阶二维数组。

每个数组占 N 行,每行包含 N 个用空格隔开的整数。

每个数组输出完毕后,输出一个空行。

数据范围

0≤N≤100

输入样例:

1
2
3

输出样例:

1

1 2
2 4

1 2 4
2 4 8
4 8 16

思路:观察输出矩阵的特点,

方法一:矩阵规律是沿着对角线分别向右侧和下侧增加,找到对角线上一值,分别向右和下逐增至n即可
【牛客小题练手】----平方矩阵_第1张图片

import java.util.Scanner;
public class Main{
    public static void main(String[] args) {
        Scanner scanner =new Scanner(System.in);
        int[][] arr = new int[110][110];    //0

方法二:找特殊规律,i - j  的绝对值+1的值,即为对应(i , j)坐标下的元素值

【牛客小题练手】----平方矩阵_第2张图片

import java.util.Scanner;
import java.lang.Math.abs;
public class Main{
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextInt()){
            int n =scanner.nextInt();
            for (int i = 1; i <= n; i++) {
                for (int j = 1; j <= n ; j++) {
                    System.out.print(abs(i-j)+1+" ");
                }
                System.out.println();
            }
            System.out.println();
        }
    }
}

平方矩阵Ⅲ 

输入整数 N,输出一个 N 阶的二维数组 M。

这个 NN 阶二维数组满足 M[i][j]=2 ^i+j

具体形式可参考样例。

输入格式

输入包含多行,每行包含一个整数 N。

当输入行为 N=0时,表示输入结束,且该行无需作任何处理。

输出格式

对于每个输入整数 N,输出一个满足要求的 NN 阶二维数组。

每个数组占 N行,每行包含 N 个用空格隔开的整数。

每个数组输出完毕后,输出一个空行。

数据范围

0≤N≤15

输入样例:

1
2
3
0

输出样例:

1

1 2
2 4

1 2 4
2 4 8
4 8 16

 思路:利用for循环,输出pow(2,i+j)即可,注意换行和空格

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextInt()){
            int n = sc.nextInt();
            for(int i = 0;i

      如果文章对你有帮助,请多多点赞、收藏、评论、关注支持!!        

ced485cbb11e458d81a746890b32cf3f.gif

你可能感兴趣的:(小题练手,java,蓝桥杯,算法,开发语言,矩阵)