defis_prime(n: int) -> bool: i = 2 while i * i <= n: if n % i == 0: returnFalse i += 1 return n >= 2# 1 不是质数
classSolution: defdiagonalPrime(self, nums: List[List[int]]) -> int: ans = 0 for i, row inenumerate(nums): for x in row[i], row[-1 - i]: if x > ans and is_prime(x): ans = x return ans
classSolution { publicintdiagonalPrime(int[][] nums) { intn= nums.length, ans = 0; for (inti=0; i < n; ++i) { intx= nums[i][i]; if (x > ans && isPrime(x)) ans = x; x = nums[i][n - 1 - i]; if (x > ans && isPrime(x)) ans = x; } return ans; }
privatebooleanisPrime(int n) { for (inti=2; i * i <= n; ++i) if (n % i == 0) returnfalse; return n >= 2; // 1 不是质数 } }
classSolution { boolis_prime(int n){ for (int i = 2; i * i <= n; ++i) if (n % i == 0) returnfalse; return n >= 2; // 1 不是质数 }
public: intdiagonalPrime(vector<vector<int>> &nums){ int n = nums.size(), ans = 0; for (int i = 0; i < n; ++i) { if (int x = nums[i][i]; x > ans && is_prime(x)) ans = x; if (int x = nums[i][n - 1 - i]; x > ans && is_prime(x)) ans = x; } return ans; } };
funcisPrime(n int)bool { for i := 2; i*i <= n; i++ { if n%i == 0 { returnfalse } } return n >= 2// 1 不是质数 }
funcdiagonalPrime(nums [][]int) (ans int) { for i, row := range nums { if x := row[i]; x > ans && isPrime(x) { ans = x } if x := row[len(nums)-1-i]; x > ans && isPrime(x) { ans = x } } return }