
题目描述
1952. 三除数
给你一个整数 n
。如果 n
恰好有三个正除数 ,返回 true
;否则,返回 false
。
如果存在整数 k
,满足 n = k * m
,那么整数 m
就是 n
的一个 除数 。
示例 1:
1 2 3
| 输入:n = 2 输出:false 解释:2 只有两个除数:1 和 2 。
|
示例 2:
1 2 3
| 输入:n = 4 输出:true 解释:4 有三个除数:1、2 和 4 。
|
提示:
解题思路
给定一个正整数 n,如任意一个小于 n 的正整数 i,满足 n % i == 0,则 i 是 n 的正除数。
代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| public class Solution1952 {
public static boolean isThree(int n) { if (n < 4) { return false; } int count = 1; for (int i = 2; i <= n; i++) { if (0 == n % i) { count ++; } if (count > 3) { return false; } } return 3 == count; }
public static void main(String[] args) { System.err.println(isThree(4)); } }
|