第五题——1952. 三除数

枚举(简单)

前言

纯个人笔记,记录自己动态规划学习次序与题目(大多为力扣的题目)方便复习查找。
本人学习使用的是c++,纯纯纯新手有写的不对的地方,非常欢迎来提醒
对于我这个新手来说大部分的题是很难做出来,肯定会借鉴相应的题解和解析,如果有争议,我会删除

题目

给你一个整数 n 。如果 n 恰好有三个正除数 ,返回 true ;否则,返回 false 。

如果存在整数 k ,满足 n = k * m ,那么整数 m 就是 n 的一个 除数 。

示例 1:
输入:n = 2
输出:false
解释:2 只有两个除数:1 和 2 。

示例 2:
输入:n = 4
输出:true
解释:4 有三个除数:1、2 和 4 。

提示:
1 <= n <= 104

代码

class Solution {
public:
    bool isThree(int n) 
    {
        int con=0;
        for(int i=2;i<n;i++)
        {
            if(n%i==0) con++;
        }
        return con==1;
    }
};

解释

因为如果 n 恰好有三个正除数 ,返回 true ;否则,返回 false 。
所以n这个数中的三个正除数应该是1,它本身n,和一个数 i 。
循环遍历 i ,判断当满足被n整除(n%i==0)的个数是否为1,->为1则是true,不为1则是false。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值