Codeforces Round #678 (Div. 2)补题

简介: Codeforces Round #678 (Div. 2)补题

B. Prime Square


传送门

2db526edcf35c4aac0e2c536fabd44e.png题目大意:输出一个方阵,使方阵每行每列的和都是素数,同时方阵的组成不能是素数

解法

  1. 我原来的思路是素数筛,然后发现太麻烦,方阵中允许重复数字出现,我无法用代码实现
  2. 正确思路:方阵行列最小为2,找到两个数字a,b,是的a+b=素数,吧这两个数字放进数组中,然后对这个数组全排列输出。对此可以建立一个方阵,行列相同

1

2

3

4

2

3

4

1

3

4

1

2

4

1

2

3

代码如下:

import java.util.*;
public class B1 {
  public static void main(String args[])throws java.lang.Exception
  {
    Scanner sc  = new Scanner(System.in);
    int t = sc.nextInt();
    while(t-->0) {
      int  n = sc.nextInt();
      int arr []= new int[n];
      arr[0]=1;arr[1]=1;
      int count=0;
      for(int i=0;i<n;i++) {
        int j=i;
        count=0;
        while(count<n) {
          System.out.print(arr[j]+" ");
          j++;
          j=j%n;//保证下标不越界
          count++;
        }
        System.out.println();
      }
    }
  }
}
相关文章
|
4月前
|
人工智能 测试技术 芯片
Codeforces Round 963 (Div. 2)
Codeforces Round 963 (Div. 2)
|
4月前
|
人工智能 测试技术 C++
Codeforces Round 962 (Div. 3)
Codeforces Round 962 (Div. 3)
Codeforces Round #742 (Div. 2)
Codeforces Round #742 (Div. 2)
55 0
|
机器学习/深度学习 Go
codeforces round 885 (div. 2)
codeforces round 885 (div. 2)
106 0
|
机器学习/深度学习 人工智能
Codeforces Round 889 (Div. 2)
Codeforces Round 889 (Div. 2)
174 0
|
人工智能 索引
Codeforces Round 806 (Div. 4)
Codeforces Round 806 (Div. 4)A~G
123 0
Codeforces Round #675 (Div. 2) A~D
Codeforces Round #675 (Div. 2) A~D
165 0