LintCode 练习-728. 3个不同的因子

097634e9169c6777120550ad61afb6bc-1.jpg 立即下载

728. 3个不同的因子

题目描述:

给一 正整数 n (1 <= n <= 10^18). 判断这个数是否正好只有 3 个不同的因子, 如果正好有 3 个不同的因子就返回 true, 否则返回 false。

样例:

  • 给出 n = 9, 返回 true 数字 9 正好有 3 个因子: 1, 3, 9, 所以返回 true.
  • 给出 n = 10, 返回 false.

思路:

如果n只有3个因子,即只能为1,x,n,x是n的平方根,并且x是素数。
所以,我们只需要判断n的平方根是否为素数即可。

4,9,25,49...

具体代码:

    /*
     * @param n: the given number
     * @return: true if it has exactly three distinct factors, otherwise false
     * 思路:如果n只有3个因子,即只能为1,x,n,x是n的平方根,并且x是素数。
     * 所以,我们只需要判断n的平方根是否为素数即可。
     * 4,9,25,49...
     */
    public boolean isThreeDisctFactors(long n) {
        long x = (long) Math.sqrt(n);
        /**
         * 如果n不是平方数,则返回false
         */
        if (x * x != n) {
            return false;
        }
        return isPrime(x);
    }

    /**
     * 判断是否为素数
     * @param n
     * @return
     */
    public static boolean isPrime(long n) {
        if (n == 1) {
            return false;
        }
        if (n == 2) {
            return true;
        }
        for(int i = 2; i * i <= n; i++) {
            if (n % i == 0) {
                return false;
            }
        }
        return true;
    }
智能体式AI漫游指南中文版 智能体式AI漫游指南中文版、智能体式AI指南英文原版 立即下载

相关推荐

国央企如何利用AI工具提升科技创新项目管理与成果转化能力?.docx

国央企如何利用AI工具提升科技创新项目管理与成果转化能力?

3个不同的因子

给一正整数 n(1 <= n <=10^18). 判断这个数是否正好只有 3 个不同的因子, 如果正好有 3 个不同的因子就返回 true, 否则返回 false 样例 样例1 输入: n = 9 输出: true 解释: 9 恰好有3个因子: 1, 3, 9, 所以返回 true. 样例2 输入: n = 10 输出: false 解释: 10 有4个因子: 1...

weixin_41791402的博客 1357

融合高斯扰动与竞争学习的改进型多目标部落竞争与成员合作算法(IMOCTCM)求解DTLZ1-DTLZ7及-盘式制动器设计研究(Matlab代码实现)

内容概要:本文档名为《Plecs全桥LLC谐振变换器仿真模型.txt》,但实际内容并非聚焦于该主题,而是一份涵盖多个科研领域的Matlab/Simulink仿真资源汇总清单。文档列举了包括多目标优化算法(如IMOCTCM、MOWAA)、电力电子变换器控制(如LLC谐振变换器、DAB变换器)、电机控制(如PMSM无感控制)、状态估计(如卡尔曼滤波)、微电网调度、无人机路径规划、图像处理、信号处理等多个方向的仿真研究课题,涉及Matlab、Python、Simulink、PSCAD等多种工具和编程语言。文档末尾频繁出现“完整资源下载:公众号——荔枝科研社”及百度网盘链接,表明其核心用途是推广和分享一系列科研仿真资料,服务于学术交流与资源共享。; 适合人群:适用于电气工程、自动化、控制科学与工程、电力系统、电子信息、机械电子、计算机科学等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①为科研工作者提供丰富的Matlab/Simulink仿真案例参考和技术实现思路;②辅助高校师生完成课程设计、毕业设计或学术论文复现工作;③通过获取开源共享资源加速个人或团队的项目开发与算法验证进程。; 阅读建议:该文档属于资源目录性质,缺乏连贯的技术论述与逻辑结构,建议使用者根据自身研究方向筛选相关条目,结合提供的代码和模型进行学习与实践,并注意核实所下载资源的有效性、完整性以及代码运行环境的兼容性。

百度之星第三场:判断是否只有三个因子

接下来n行,每行包含一个正整数a:(1 ≤ai≤1012)。输出格式:共n行,每行一个YES或NO, 示a;给定n个正整数,请你分别判断它们是否恰好有三个不同的正因子。格式 输入格式:第-行包含一个整数n(1 < n≤105),示数字个数。我们知道,恰好有两个正因子的数是质数。现在小度突发奇想,他想判断一个数是不是恰好有三个因子?那么稍微转换一个,满足这样条件的是不是那个因数必须是素数?没错就是一个数的平方,是一个因数!我们思考一下,除了1之外,所有的数一定有两个因数——三个因数,很少,我们可以排查确定!

只会写bug的靓仔的博客 644

告别GUI点点点:Formality形式化验证的TCL脚本自动化实战(附完整脚本)

本文详细介绍了如何通过TCL脚本实现Formality形式化验证的全流程自动化,显著提升验证效率并降低错误率。内容涵盖脚本框架解析、参数化设计、验证报告生成及团队协作策略,特别适合芯片设计工程师摆脱传统GUI操作,实现300%以上的效率提升。

weixin_33737134的博客 283

Dify学习笔记-知识库(六)

Dify学习笔记-知识库

大数据知识梳理 2万+

寻找只有三个因子的数------埃氏筛法

并不是这么的有说服力,但是要想一下,如果它不是一个素数,它就可以被拆为另外两个数相乘,那就不满足它只有三个因子的条件了,这个理由还是比较能说服人的。(我第一次写它的时候,脑子里是没有想到这些的,于是,写了个暴力算法,虽然通过了部分样例,但是大概率,emm…有三个因子,其中两个必是1和它本身,也就满足了素数这个条件,还有一个,是它的平方根,OK,不太确定的话,再随便举一个例子。我们要找的是一个有且只有三个因子的数,那么,其中两个因子必为1和它的本身,因此,我们只需要寻找它的平方根是一个素数的数。

m0_74102664的博客 454

Dify 深度进阶:从入门到精通AI应用构建

《Dify进阶指南:从基础到高阶的AI应用开发技巧》 本文深入探讨Dify平台的高级功能与应用开发技巧。首先强调核心概念的深化,包括提示词工程进阶、知识库高效管理和模型参数优化。重点介绍智能体应用的开发方法,如何让AI具备自主规划与执行能力。同时讲解工作流编排、前端集成等实用技术,并分享应用运营优化、成本控制等实践经验。文章还展望了Dify生态的发展趋势,为开发者提供从基础到进阶的完整学习路径,助力打造更智能高效的AI应用。

同名公众号:dify实验室 1951

3个不同的因子-LintCode

给一 正整数 n (1 <= n <= 10^18). 判断这个数是否正好只有 3 个不同的因子, 如果正好有 3 个不同的因子就返回 true, 否则返回 false样例: 给出 n = 9, 返回 true 数字 9 正好有 3 个因子: 1, 3, 9, 所以返回 true. 给出 n = 10, 返回 false思路: 判断正整数是否正好只有 3 个不同的因子,其实就是判断此正整数是否

kane的博客 1426

Simulink仿真模块 - Signal Conversion

目录 说明 实例 创建总线信号的连续副本 ​将虚拟总线转换为非虚拟总线​ 将非虚拟总线转换为虚拟总线 将Muxed信号转换为矢量 模块特性 Signal Conversion:将信号转换为新类型,而不改变信号值 在仿真库中的位置为: Simulink / Signal Attributes HDL Coder / Signal Attributes 模型为: 说明 Signal Conversion模块可将信号从一种类型转换为另一种类型。要选择要...

jk_101的博客 3421

ROS从入门到精通2-1:机器人3D可视化工具——Rviz

本文详细介绍了Rviz是什么?为什么要使用这个工具?清晰地列出了Rviz的安装流程和界面的基本功能元素;讲解了Rviz基本数据类型与话题,并用两个实例深入理解Rviz数据可视化的过程

FRIGIDWINTER的博客 5347

lintcode728. 3个不同的因子

给一 正整数 n (1 <= n <= 10^18). 判断这个数是否正好只有 3 个不同的因子, 如果正好有 3 个不同的因子就返回 true, 否则返回 false 样例 样例1 输入: n = 9 输出: true 解释: 9 恰好有3个因子: 1, 3, 9, 所以返回 true. 样例2 输入: n = 10 输出: false 解释: 10 有4个因子: 1, 2, 5...

sinb妃的博客 700

pdb文件删除杂原子 HETATM;保留或去除水分子

这样操作水分子也会跟着删除,如果需要保留水分子。

weixin_42357472的博客 2645

LintCode 728: Three Distinct Factors

Three Distinct Factors Given a positive integer n (1 <= n <= 10^18). Check whether a number has exactly three distinct factors, return true if it has exactly three distinct factors, otherwise ...

roufoo的博客 293

Qt 5.14安装(配置MSVC 2017)

本文主要介绍Qt MSVC的安装,VS2017.

ifeng12358的博客 3711

fanuc机器人KAREL中 函数的应用

本次课程讲解编程的思路。很多的同学都玩过积木,一个一个的模块逐渐累积起来,通过彼此之间的相互联系,最终形成一个完整的整体。其实编程也是这样。 将一个对象根据其特点进行模块化拆分,尤其是一些特点非常相似的内容,将其变成一个模块。然后通过传递参数,实现不同的功能,这就是模块化编程。

haier123888的博客 2744

lintcode-微软笔试

646. 第一个独特字符位置 题目: 给出一个字符串。找到字符串中第一个不重复的字符然后返回它的下标。如果不存在这样的字符,返回 -1。 样例: 给出字符串 s = "lintcode",返回 0。 给出字符串 s = "lovelintcode",返回 2。 思路:简单的hash应用。遍历一次,纪录每个字符出现的次数,再遍历一次,次数大于1的字符就是答案。

ysCover 808

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

LINTCODE—— 3个不同的因子

LINTCODE—— 3个不同的因子思路:加入n有三个不同的因子,那么只能是1,n,还有就是n的开方了,并且sqrt(n)为质数,然后就没有然后了。。。。class Solution { public: /* * @param : the given number * @return: return true if it has exactly three distin

kaaokou的博客 2024

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

信息奥赛课课通(C++)p139-例3幸运数的划分

问题描述: 判断一个正整数n是否能被一个“幸运数”整除。幸运数是指一个只包含4或7的正整数,如7,47,477等都是幸运数,17,42则不是幸运数。 输入格式: 一行一个正整数n,1&amp;lt;=n&amp;lt;=1000。 输出格式: 一行一个字符串,如果能被幸运数整除输出“YES”,否则输出“NO”....

mengdicfm的博客 5620

codeforces 230b 求只有三个因子的数

这个题就是让判断一下某一个数是不是一个素数的平方。 比如 4,9就是2,3,的平方 要把1特判一下,然后就是long long 的重要性。 #include<iostream> #include<algorithm> #include<cmath> #include<cstring> #include&...

sunnyorrainy的博客 734

因子

Description 有一个整数N,现在你的任务是计算出N!有多少个不同的因子.比如说,3! = 3 * 2 * 1, 那么3!的因子是1,2,3,6,所以3!有4个因子. Input 数据的第一行是一个整数T.  接下去每行有一个整数N,N的范围是0~10^7.  Output 对每个测试用例输出N!不同的因子个数,由于答案很大,所以只需要输出答案mod 10007的值. S

zjq4119的专栏 1054

【LeetCode解题报告】《算法基础012_因子和》- Java

目录一、1390.四因数1.题目2.分析3.代码 一、1390.四因数 1.题目 1390.四因数 给你一个整数数组 nums,请你返回该数组中恰有四个因数的这些整数的各因数之和。 如果数组中不存在满足题意的整数,则返回 0 。 1 <= nums.length <= 104 1 <= nums[i] <= 105 2.分析 这道题涉及到的知识点: 等比数列求和:Sn=a1+a1q+a1q2+...+a1qn−1=a1(1−qn)(1−q)S_n = a_1 + a_1q +.

Victor_Seven的博客 456

Project Euler:Problem 47 Distinct primes factors

The first two consecutive numbers to have two distinct prime factors are: 14 = 2 × 7 15 = 3 × 5 The first three consecutive numbers to have three distinct prime factors are: 644 = 2² × 7 × 23

312小公举的专栏 775

【Lintcode】728. Three Distinct Factors

题目地址: https://www.lintcode.com/problem/three-distinct-factors/description 给定一个正整数nnn,判断它是否有三个不同的正因子, 首先111不满足,接着考虑大于111的数nnn。nnn必有正因子111和nnn,如果nnn只有三个不同因子的话,其必然是某个素数的平方。只需要判断一下这一点即可。代码如下: public class Solution { /** * @param n: the given number

数学、算法爱好者的博客 240
上一篇: LintCode 练习-729. 阶乘除法的最后一位数
下一篇: LintCode 练习-734. 形式为a^i b^j c^k的子序列数量
杨小熊的笔记
博客等级 码龄15年 125粉丝 156原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值