`
Flyingh
  • 浏览: 18445 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

分解质因数(如:90=2*3*3*5)

    博客分类:
  • Java
 
阅读更多
    分解质因数:如90=2*3*3*5,代码如下:
package com.flyingh.demo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Demo {

	public static void main(String[] args) throws NumberFormatException,
			IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		System.out.println("请输入一个正整数:");
		int n = Integer.parseInt(br.readLine());
		System.out.println(n + "=" + getOut(n));
	}

	private static StringBuilder sb = new StringBuilder();

	private static String getOut(int n) {
		if (!isPrime(n)) {
			for (int i = 2; i < n; i++) {
				if (isPrime(i) && n % i == 0) {
					sb.append(i).append("*");
					return getOut(n / i);
				}
			}
		} else {
			sb.append(n);
		}
		return sb.toString();
	}

	private static boolean isPrime(int n) {
		// TODO Auto-generated method stub
		if (n == 1) {
			throw new IllegalArgumentException("参数不能为1");
		}
		if (n == 2 || n == 3) {
			return true;
		}
		for (int j = 2; j <= Math.sqrt(n); j++) {
			if (n % j == 0) {
				return false;
			}
		}
		return true;
	}

}

    当输入108时,运行结果如下:
108=2*2*3*3*3
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    将一个正整数分解质因数

    将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5

    质因数分解算法例如90=2*3*3*5

    质因数分解算法例如90=2*3*3*5 java实现

    将一个正整数分解质因数。

    在编程领域,将一个正整数分解质因数是一项基础且重要的任务,它涉及到数论和算法设计。质因数分解是将一个大于1的正整数表示为若干个质数(只有1和自身两个正因数的自然数)的乘积,这种表示方式是唯一的。例如,28...

    c代码-将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    在编程领域,将一个正整数分解质因数是一项基础且重要的任务,它涉及到数论和算法的知识。本文将详细讲解如何用C语言实现这个功能,并深入探讨相关的数学原理。 首先,质因数分解是将一个合数表示为几个质数(素数...

    将一个正整数分解质因数 例如:输入90,打印出90=2*3*3*5(C实现)

    在计算机科学中,分解质因数是将一个合数(大于1且不能被1和它自身以外的整数整除的自然数)表示为几个质数的乘积的过程。这个过程有助于理解数字的结构,特别是在密码学、数论和算法设计等领域有广泛的应用。在给定...

    python 将一个正整数分解质因数 例如:输入90,打印出90=233*5 (示例)

    # 将一个正整数分解质因数。例如:输入90,打印出90=233*5。 # 分析: # 对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: # (1) 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出...

    超大正数分解质因数(原创_源代码).rar

    可以对超过64位最大整数(18446744073709551615,约1845亿亿,20位十进制数)的整数分解质因数。原创的全部源代码共享。 使用了.NET库的“大整数”类。界面为 Win Form 程序使用确定性算法。 做了尽可能多的优化...

    整数因子分解

    而在更广义的情况下,我们也可以考虑一个数的所有可能的分解形式,不仅仅是其质因数分解。 #### 二、题目理解与分析 本题要求我们计算一个给定的正整数n有多少种不同的分解方式。例如,对于数字12,它可以被分解为...

    用分解质因数法与短除法求三个数的最小公倍数.ppt

    我们可以使用分解质因数法:20=2×2×5,30=2×3×5,42=2×3×7。然后,我们找到三个数公有的质因数,例如2、3和5。最后,我们将这些质因数相乘,得到最小公倍数2×3×5×2×7=420。 * 求6、9、12的最小公倍数。...

    质因数分解(质数输出1和本身,复和数输出质因子)

    将一个正整数分解质因数。例如,90 = 2 * 3 * 3 * 5 在这里,假设1也是素数。即:如果输入的是一个素数,如7,那么可以表示为7 = 1 * 7 有多个正整数,每个占一行。每个正整数不超过2^16。 对每个输入的正整数,单独...

    分解质因数·PPT学习教案.pptx

    3. **分解质因数**: - **概念**:将一个合数表示为若干个质数相乘的形式,即找到合数的所有质因数。 - **重要性**:分解质因数是数论中的基础操作,有助于理解和简化数的结构。 4. **质因数**: - **定义**:在...

    易语言分解质因数

    在这个“易语言分解质因数”主题中,我们主要关注的是如何使用易语言来实现一个功能,即分解质因数。质因数是数学中的一个重要概念,指的是能整除给定正整数的质数。例如,数字20的质因数有2和5,因为20=2×2×5。 ...

    Python实现将一个正整数分解质因数的方法分析

    例如:输入90,打印出90=2*3*3*5。 版本一: 开始,没动脑子就开始写了,结果如下代码 #! /usr/bin/python # 014.py import math number = int(raw_input(Enter a number: )) while number != 1: for i in range(1,...

    整数因子分解问题C/C++实现

    整数因子分解问题 算法设计思路: n=x1*x2*x3*…*xm,分治思想设计(分解过程): n=x1*(x2*x3*…*xm); n=x1*x2*(x3*…*xm); … n=x1*x2*x3*…*xm; 分治过程: void factor(int n){ int i; if(n==1)total++; else ...

    分解质因数

    **分解质因数** 在数学领域,分解质因数是将一个合数(非质数)表示为其质因数的乘积的过程。质因数是指只能被1和它本身整除的自然数,如2、3、5、7等。这个过程在数论中非常重要,因为它可以帮助我们理解数字的...

    Java实现将一个正整数分解质因数

    例如:输入90,打印出90=2*3*3*5。  * 分析:对n进行分解质因数,应先找到一个小的质数k,然后按下述步骤完成:  *(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。  *(2)如果n&gt;k,但n...

    分解质因数西师PPT课件.pptx

    - 同理,60的分解质因数过程为:60 = 2×2×3×5。 6. **应用**: - 分解质因数在数论、密码学、计算机科学等领域有着广泛的应用,例如在RSA公钥加密算法中就利用了质数分解的难度。 7. **教学活动**: - 教材...

    深入分析C语言分解质因数的实现方法

    首先来看一个最简单的C语言实现质因数分解的列子: ...把一个合数分解为若干个质因数的乘积的形式,即求质因数的过程叫做分解质因数,分解质因数只针对合数 求一个数分解质因数,要从最小的质数除起,一直除到结

    JAVA面试题

    【程序4】是分解质因数的问题,用于将一个正整数表示为其质因数的乘积。`decompose`方法通过循环和内层的while循环实现,找到最小的质数k,不断去除n的质因数并更新n,直到n变为1,输出所有质因数。 【程序5】涉及...

Global site tag (gtag.js) - Google Analytics