华为在线编程系列-质数因子
来源:互联网 发布:burpee 知乎 编辑:程序博客网 时间:2024/04/28 10:33
题目:给定一个long型的数,按照从小到大的顺序输出其所有质数因子
输入输出描述
输入:一个long型整数输出:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。
思路:最小的质数为2,最大的质数为本身(如果这个数就是质数的话)当这个数不为1的时候,可以通过for循环来求其最小质因子,一旦找到一个质因子,则跳出当前循环,寻找下一个最小质因子
- 代码:
import java.util.*;public class Main{ public static void main(String[] args){ Scanner scan = new Scanner(System.in); while(scan.hasNext()){ long value = scan.nextLong(); while(value != 1){ for(int i = 2; i <= value; i++){ if(value%i == 0){ value = value/i; System.out.print(i + " "); break; } } } } }}
* 拓展:求1到n的所有质数,从小到大排序
- 思路:对于2-n(包括n)中的每个数,通过for循环和一个isPrime来标志这个其是否是质数
/** * Created by hmh on 2017/4/7. */import java.util.*;public class FindAllPrime { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); boolean isPrime = true; while(scanner.hasNext()){ long value = scanner.nextLong(); for(int i = 2; i <= value; i++){ //看i是否为质数 for(int j = 2; j < i; j++){ if(i%j == 0){ isPrime = false; break;//如果能被整除,说明还有质因子 } } if(isPrime){ System.out.print(i + " "); } isPrime = true; } } }}
0 0
- 华为在线编程系列-质数因子
- 华为机试在线训练-牛客网(4)质数因子
- 【华为oj】质数因子
- 华为OJ--质数因子
- 华为oj 质数因子
- 【华为 OJ】 质数因子
- 【华为OJ6】质数因子
- 华为OJ:质数因子
- 华为OJ:质数因子
- 华为oj之质数因子
- 【华为OJ】【006-质数因子】
- 华为机试---质数因子
- 华为OJ 初级:质数因子
- 华为oj之质数因子
- 【华为机试】质数因子
- 华为机试 质数因子
- 【华为机试】质数因子
- 华为机试-质数因子
- 将图片归一化以及翻转的c++小程序
- DNS(域名系统)
- discuz论坛和PHP7.0有兼容问题安装不了
- VRTK案例001~010
- OkHTTP3齐全的初级使用
- 华为在线编程系列-质数因子
- Zend Studio 12.5.1安装
- Android学习路线整理
- 端口被占用的解决办法
- bzoj1041[HAOI2008]圆上的整点
- C语言中#define的用法(转)
- php学习
- R语言柱状图排序和x轴上的标签倾斜
- 依赖注入