java 算出所有满足乘积为一个数的素数(也就是质数)
来源:互联网 发布:全速建站软件 编辑:程序博客网 时间:2024/06/13 09:51
package com.meritit.func;
/**
*
* @author Administrator
* 判断一个数是由哪些质数相乘得来的
* 思路:
* 1、先判断这个数是不是素数,也就是质数,如果是,直接输出
*· 2、将这个数循环去除一个素数(默认除2-这个数本身),但是需要确认除的数是质数
* 比如 12 可除的数据为2、3、5、7、11其他数不可除
* 3、如果这个除数是质数,并且能被本身整除,则为该数的一个素数
*/
public class FindFactor {
public static void main(String[] args) {
int i = 345;
FindFactor f = new FindFactor();
f.getFactor(i);
}
private void getFactor(int i) {
boolean factor2 = isFactor(i);
if(factor2){
System.out.println("质数为--:" + i);
return;
}
if(i>2){
for (int j = 2; j <= i; j++) {
//判断取出的J是不是质数
factor2 = isFactor(j);
if(factor2 && i%j==0 ){
System.out.println("质数为:" + j);
getFactor(i/j);
break;
}
}
}
}
/**
* 判断一个数是不是素数
* @param j
* @return
*/
private static boolean isFactor(int j) {
int cnt = (int) Math.sqrt(j);
if(j==2){
return true;
}
for (int i = 2; i <= cnt; i++) {
if(j%i==0){
return false;
}
}
return true;
}
}
/**
*
* @author Administrator
* 判断一个数是由哪些质数相乘得来的
* 思路:
* 1、先判断这个数是不是素数,也就是质数,如果是,直接输出
*· 2、将这个数循环去除一个素数(默认除2-这个数本身),但是需要确认除的数是质数
* 比如 12 可除的数据为2、3、5、7、11其他数不可除
* 3、如果这个除数是质数,并且能被本身整除,则为该数的一个素数
*/
public class FindFactor {
public static void main(String[] args) {
int i = 345;
FindFactor f = new FindFactor();
f.getFactor(i);
}
private void getFactor(int i) {
boolean factor2 = isFactor(i);
if(factor2){
System.out.println("质数为--:" + i);
return;
}
if(i>2){
for (int j = 2; j <= i; j++) {
//判断取出的J是不是质数
factor2 = isFactor(j);
if(factor2 && i%j==0 ){
System.out.println("质数为:" + j);
getFactor(i/j);
break;
}
}
}
}
/**
* 判断一个数是不是素数
* @param j
* @return
*/
private static boolean isFactor(int j) {
int cnt = (int) Math.sqrt(j);
if(j==2){
return true;
}
for (int i = 2; i <= cnt; i++) {
if(j%i==0){
return false;
}
}
return true;
}
}
0 0
- java 算出所有满足乘积为一个数的素数(也就是质数)
- 面试算法题:求所有的素数也就是质数
- 用JAVA判断一个数是否为素数(质数)
- 将一个数分解为素数乘积
- php判断一个数是否为质数(素数)
- 如何判断一个数是否为素数(质数)?
- 【笔试】Java判断一个正整数是否为质数(素数)。
- C#实现的Rabin-Miller检测素数算法,可检测一个数是否为素数(质数)
- java判断一个数是否为质数的方法
- 素数的实现,质数,判断一个数是不是素数
- PAT 1096. Consecutive Factors (20)(最大连续乘积因子)(sqrt(n)判断一个数是否为质数的深刻理解)
- 如何求一个数组中的数是否为质数(素数)
- 1、判断一个数是否为素数,并求出1-1000中的全部素数(素数即质数,除1和自身以外没有其它因子,最小的质数是2)。
- 省赛i题/求1~n内所有数对(x,y),满足最大公约数是质数的对数
- ACM 767 因子和 (判断一个数是否为素数且输出非素数的所有因子和)
- java判断一个数是否是素数(质数)
- 若一个素数的反序数仍为素数,则称为可逆素数。求10000以内的所有可逆素数。
- 判断一个数是否为素数&求1到某一个数之间的所有素数
- 看操作系统虚拟化原理总结篇——基本运行环境
- 从FileGDB中导出数据异常 000732
- 堆/堆排序
- spring jar包 官网下载方法
- js中的window对象
- java 算出所有满足乘积为一个数的素数(也就是质数)
- 在ubuntu上挂在服务器的samba共享目录
- 如果仅仅是为了学习java入门,请离SSH远点儿
- jquery实现类似百度的搜索input输入框
- 【C++ Primer每日一刷之六】数组
- 配置python命令tab键自动补全
- iOS社交网络编程——分享
- java解析xml的几种方式哪种最好?
- js与jquery两种不同的方式获得父元素、删除子元素