求某个数的质因数,打印的格式为90=2*3*3*5。

思路为:既然我们求质因数,我们可以利用遍历的方法,用这个数从2开始除直到该数本身寻找他的因数

1.第一个问题:因为数的因数可能重复比如9=3*3。所以我们需要每次都要从2开始遍历这是我们就需要用到递归算法
2.第二个问题:我们用了递归方法那么我们的输出函数也会进行递归,所以我把该数的原值用构造函数来表现,使得对象一被创建便出现“原值=”这个输出语句
3.然后我们将一个一个的因数取出来,最后用一个if语句把最后一个*给删除。
代码如下:

class Factorization
{
private int factorization;

void setFactorization(int factorization)
{
this.factorization=factorization;

}
int getFactorization()
{
return factorization;
}
Factorization(int factorization)
{
System.out.print(factorization+"=");
}
void show()
{
for(int i=2;i<=factorization;i++)
{
if(factorization%i==0)
{

factorization/=i;
if(factorization==1)
{
System.out.print(i);
}
else
System.out.print(i+"*");
show();
}
}
}
}

public class PrimeFactorization 
{
public static void main(String[] args) 
{
int factorization=90;
Factorization F=new Factorization(factorization);
  F.setFactorization(factorization);
F.show();

}
}

算法——求某个数的质因数相关推荐

  1. 埃拉托色尼筛选法c语言求最大公约数,用埃拉托色尼筛算法求两个数最大公约数C++的实现...

    #include "stdafx.h" #include "iostream" #include #include //使用埃氏筛选法求最大公约数 void s ...

  2. 求一个数的质因数个数

    def count_zy(num):count=0i=2while i*i<=num:if num%i==0:# 如果一个数是num的约数,并且也是质数,则count+1if is_prime( ...

  3. 算法 求一个数的平方根

    python: #coding=utf-8 from decimal import Decimal from decimal import getcontext#设置为显示8位有效数字 getcont ...

  4. Java求一个数的质因数

    public static void main(String[] args) {int n,i;//请输入一个正整数n=61;i = 2;while (i<Math.sqrt(n)+1){//判 ...

  5. c语言算法求约数个数,【代码】求一个数的因数和、求优化、顺便也供新人参考算法...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include main() { int n,q,p,m,k=1,sum=0,s[99999]={2},t[99999];//n是输入 ...

  6. 利用C语言求一个数的所有质因数

    //求一个数的质因数 #include<stdio.h> void function(int n) { int sum = n; int i; for(i=2;i*i<=n;++i) ...

  7. java 平均值_Java求两个数平均值

    如何正确的求2个数的平均值.在练习算法二分查找的时候发现的,以前没有注意到的bug 备注:数据以int类型为例 一.以前的通用写法 /** * 求a+b平均值 * @param a * @param ...

  8. 4种方法求2个数公因数

    一.实验名称:求2个数的最大公约数 二.实验内容:利用辗转相除法.更相损减法.穷举法.Stein算法求两个数的最大公因数.并且比较这四种算法的运行时间. 三.算法设计和代码部分 1.辗转相除法 辗转相 ...

  9. php算法求出一个数可以被分解成多少个_小学奥数必须掌握的30个知识模块汇总...

    关注成长教育  解决学习困惑 点击蓝字关注,与全国家长比肩同行 1.和差倍问题和差问题 和倍问题 差倍问题已知条件 几个数的和与差 几个数的和与倍数 几个数的差与倍数公式适用范围 已知两个数的和,差, ...

最新文章

  1. 【Network Security!】Ubuntu18.04切换到root权限和sudo
  2. 释疑のABAP内表的比较
  3. 玩转Linux压缩及归档
  4. 腾讯视频下载安装_如何上传视频到腾讯视频平台
  5. 硬核评测:企业上云的极速存储挑战,华为云全新极速IO云硬盘性能评测
  6. vue组件库(一):前期准备工作
  7. ## CSP 201609-2 火车购票购买,C语言版(90分版)
  8. solaris系统中的’format’程序
  9. 走自己的路,记得回头看看
  10. python可以做哪些小工具_用Python写过哪些「脑洞大开」的小工具?
  11. hdu 6129 Just do it
  12. Java高并发程序设计学习笔记(十):并发调试和JDK8新特性
  13. mysql 数据备份 crontab
  14. 5.1索引压缩-词项的统计特性(Heaps定律、Zipf定律)
  15. Ubuntu(Linux) 磁盘分区方案
  16. 根据时间经纬度高程计算天顶角
  17. C++编码规范与指导
  18. Mac 软件和学习经验分享
  19. CoreOS在儿童节发布了自己的分布式存储Torus
  20. 【UE】Unreal Engine虚幻引擎自己的入门记录

热门文章

  1. python弹窗处理_python弹窗处理
  2. 八大常用电子元器件,你知道多少?今天给大家讲个透彻,让你明白
  3. 光学系统的坐标系统、结构参数和光学特性参数
  4. dedecms 主要模板文件与功能说明
  5. C语言函数替代strlen,C语言实现strlen函数的几种方法【转】
  6. 全加器门级(结构级),数据流,行为级实现
  7. unity3d 重要类+方法 。。。再来一遍吧。。。
  8. WPF——ComboBox绑定XmlDataProvider数据
  9. 李子的猜数游戏!!!γ版
  10. 程序员找工作的注意事项