求助!50分
查看原帖
求助!50分
1001535
封禁用户楼主2023/9/18 21:00

有啥可以优化的?

#include <iostream>
#include <vector>
using namespace std;

bool is_prime(int x) {
    if (x < 2) {
        return false;
    }
    for (int i = 2; i*i <= x; i++) {
        if (x % i == 0) {
            return false;
        }
    }
    return true;
}

int main() {
    int T;
    cin >> T;
    
    while (T--) {
        int n, m;
        cin >> n >> m;
        
        vector<vector<int>> grid(n, vector<int>(m));
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                cin >> grid[i][j];
            }
        }
        
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                int k = 0;
                while (i-k >= 0 && is_prime(grid[i-k][j])) {
                    k++;
                }
                cout << k << " ";
            }
            cout << endl;
        }
    }
    
    return 0;
}
2023/9/18 21:00
加载中...