3个不同的因子-LintCode
2017-12-05 10:57
302 查看
给一 正整数 n (1 <= n <= 10^18). 判断这个数是否正好只有 3 个不同的因子, 如果正好有 3 个不同的因子就返回 true, 否则返回 false
样例:
给出 n = 9, 返回 true 数字 9 正好有 3 个因子: 1, 3, 9, 所以返回 true.
给出 n = 10, 返回 false
思路:
判断正整数是否正好只有 3 个不同的因子,其实就是判断此正整数是否是一个素数的平方。
样例:
给出 n = 9, 返回 true 数字 9 正好有 3 个因子: 1, 3, 9, 所以返回 true.
给出 n = 10, 返回 false
思路:
判断正整数是否正好只有 3 个不同的因子,其实就是判断此正整数是否是一个素数的平方。
#ifndef C728_H #define C728_H #include<iostream> #include<cmath> using namespace std; class Solution { public: /* * @param : the given number * @return: return true if it has exactly three distinct factors, otherwise false */ bool isThreeDisctFactors(long long n) { // write your code here if (n < 2) return false; long long num = sqrt(n); //若n是num的平方 if (num*num == n) { if (isPrime(num)) return true; else return false; } else return false; } //判断num是否是素数 bool isPrime(long long num) { if (num < 2) return false; for (long long i = 2; i*i < num; ++i) { if (num%i == 0) return false; } return true; } }; #endif
相关文章推荐
- LintCode 练习-728. 3个不同的因子
- LINTCODE—— 3个不同的因子
- 3个不同的因子
- 统计一个数分解质因数中不同因子的个数
- memset清空类的时候的3个不同效果
- lintcode 中等题:unique Binary Search Tree 不同的二叉查找树
- 输入一个数,1~2^24, 输出它的最大质因子和不同质因子的个数。
- .NET中有3个不同的定时器
- lintcode:不同的路径—解析
- 彩球分配问题:共有12个彩球,4个红的,4个白的,4个黄的,从中挑出8个球放入3个不同的口袋(口袋编号分别为a、b、c)编写程序打印输出所有可能的放法。
- Dhtml:3个不同高度的三维可拖动图层的例子
- [lintcode]118. 不同的子序列
- python_lintcode_697Check Sum of Square Numbers_114不同的路径
- lintCode(115)——不同的路径||
- 不同的路径 -LintCode
- 软件需求包括3个不同的层次 - 业务需求、用户需求和功能需求
- 统计一个数分解质因数中不同因子的个数
- python_lintcode_115不同的路径 II_112删除排序链表中的重复元素
- 3个不同高度的三维可拖动图层
- lintcode(115)不同的路径2