要求:用户输入一个正整数,然后以降序显示它的所有最小因子,例如:120,那么显示的最小因子为5,3,2,2,2。存储这些素数(例如:2,2,2,3,5)获取这些按倒序显示这些因子。

package com.zyn.iteye;

import java.util.ArrayList;

import java.util.List;

public class StackOfIntegers {

//存放分解的素数

List list = new ArrayList();

//主方法,求分解素数

public void getSub(int sum){

//获取中间数的后一个数,保证中间数可以在下面的for中被循环

int middle = getMiddleAfter(sum);

//2是最小的素数,从2开始循环除

for(int i=2;i

//如果i不为素数,直接跳过,循环下个数

if(!isSuShu(i)){

continue;

}

//余数

int yu = sum%i;

//商

int last = sum/i;

if(yu==0){

//余数为0,i为sum的因子,填入list

list.add(i);

//如果商为素数,则添加商到list,程序结束

if(isSuShu(last)){

list.add(last);

return;

}

//如果商不为素数,递归商调用本方法,分解商

getSub(sum/i);

//如果sum可以被素数因子整除,直接分解商,后续的因子不必再循环

break;

}

}

}

//如果可以被2整除,则+1,否则+1后再除以2

public int getMiddleAfter(int num){

if(num%2==0){

return num/2+1;

}else{

return (num+1)/2;

}

}

//判断是否是素数

public boolean isSuShu(int num){

boolean flag = true;

for(int i=2;i

if(num%i==0){

flag = false;

break;

}

}

return flag;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

StackOfIntegers s = new StackOfIntegers();

s.getSub(120);

System.out.println(s.list);

}

}

java最小因子_一个整数的所有最小因子相关推荐

  1. java notify视频_一个很好的小例子来演示java中的wait()和notify()方法

    任何人都可以在 java中为我提供一个很好的小例子演示wait()和notify()功能.我尝试使用下面的代码,但它没有显示我的预期. public class WaitDemo { int i = ...

  2. java多状态机_一个java状态机样例的代码

    在UML当中有状态机视图,这个状态机可以用于自动售货机,自动售票机等等场景,下面是用java代码模拟的一个状态机: 1.状态机接口 package stateMachine; /** * 状态机接口 ...

  3. java 任意多个整数相加_一个整数分为若干个连续整数之和(使用java实现)

    题目描述: 要求写出所有连续的正整数序列,使其之和等于90,小明灵光一闪,立马写上了29,30,31, 他看到解释说明台式告知答案不止一种,过了好一会,他总算算出了所有的5种答案 给你一个正整数Num ...

  4. python求一个数的因子_求一个整数的所有素数因子的思路是什么?

    用筛法. 我们仅考虑分解奇数.(原因?) 现在我们可以假设n=pq,pq必可写作(x+y)(x-y) 也即我们需要找到 x²≡y² (mod n) 我们可以考虑,在 kn 附近的完全平方数 x² 中, ...

  5. java瀑布流_一个简单的瀑布流实现。

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ . 瀑布流简介 主 ...

  6. java鉴权_一个开箱即用的高效认证鉴权框架,专注于restful api的认证鉴权动态保护...

    作者:tomsun28 来源:SegmentFault 思否 写在开头 看了看这个专栏的最近一篇文章已经是两年前了,时间过得好快.应该是出学校后时间就很快了.两年前因为用shiro后,自己就按着想法开 ...

  7. java 分布式任务_一个简单的基于 Redis 的分布式任务调度器 —— Java 语言实现...

    折腾了一周的 Java Quartz 集群任务调度,很遗憾没能搞定,网上的相关文章也少得可怜,在多节点(多进程)环境下 Quartz 似乎无法动态增减任务,恼火.无奈之下自己撸了一个简单的任务调度器, ...

  8. 抽取样本java实验报告_一个自定义classloader的函数抽取壳样本

    原标题:一个自定义classloader的函数抽取壳样本 本文为看雪论坛文章 看雪论坛作者ID:lemn 本文为 看雪安卓高研2w班(7月班)优秀学员作品. 下面先让我们来看看学员的学习心得吧! 学员 ...

  9. java笔试题_一个Java程序员在百度的笔试题整理

    以下是程序员去百度的笔试题目整理 欢迎大家讨论,文末有福利. A 卷 Java中 ++ 操作符是线程安全的吗? a=a+b 与 a+=b的区别? 写出Java的单例模式 为什么在重写equals方法的 ...

最新文章

  1. 完整mes代码(含客户端和server端_Ice简介+Qt代码示例
  2. 玩转控件:对Dev的GridControl控件扩展
  3. magento 瘦身数据库
  4. 颜色模型和颜色应用---颜色选择及其应用
  5. [学习笔记]0/1分数规划
  6. git21天打卡Day2-注册账号
  7. java统计空格代码_java算法大全之统计出其中英文字母、空格、数字和其它字符的个数...
  8. dma和通道的区别_Java中IO和NIO的本质和区别
  9. java 获取当前时间并转化为yyyy-MM-dd HH:mm:ss格式(性程安全模式与不安全)
  10. 数据洞察|Qtum量子链4月主网报告
  11. 计算机主机报警 声,电脑开机报警声音大全
  12. 考研英语前缀总结·十五
  13. Java 线程池设计思想及源码实现
  14. 怎样赚钱?互联网赚钱才是草根最好的方式!
  15. python相关库快速下载
  16. 纷享销客高燕:回归第一性原理,B2B企业如何向精益化要增长
  17. 高校计算机教师swto分析,信息技术课教师专业成长SWOT分析.doc
  18. 后端开发常见面试题目
  19. unity iOS 微信支付 教程
  20. Python学习:正则表达式匹配手机号,邮箱

热门文章

  1. android sdk introduction
  2. 国际高性能计算和人工智能咨询委员会公布第五届亚太区 HPC-AI竞赛结果
  3. 《MATLAB 神经网络43个案例分析》:第25章 基于MIV的神经网络变量筛选----基于BP神经网络的变量筛选
  4. Java秒杀系统实战系列~数据库级别Sql的优化与代码的调整
  5. 如何查看OpenAI的api-key?
  6. 百度大脑营业执照识别使用攻略
  7. 【数据库】SRA数据库介绍及数据下载
  8. 数据结构之有效的括号
  9. 神经网络如何训练数据,神经网络常用训练方法
  10. 基于pion生态的SFU实时音视频发布服务(一)