java分解质因数代码

import java.util.*;
class 分解质因数
{
	static ArrayList<Integer> al;
	public static void main(String[] args)
	{
		al=new ArrayList<Integer>();
		fenjie(84729332);
		System.out.println(al);
	}
	public static void fenjie(int x)
	{
		if(isPrime(x))
		{
			al.add(x);
			return;
		}
		if(x%2==0)
		{
			al.add(2);
			x=x/2;
			fenjie(x);
			return;
		}
		for(int i=3;i<x;i++)
			if(x%i==0 && isPrime(i))
		{
			al.add(i);
			x=x/i;
			fenjie(x);
		}
	}
	public static boolean isPrime(int n)
	{
		if(n==2)
			return true;
		if(n%2==0 )//|| n<ts.last())
			return false;
		for(int i=3;i<n;i+=2)
			if(n%i==0)
			return false;
		return true;
	}
}

时间: 2024-10-13 16:25:33

java分解质因数代码的相关文章

java 分解质因数 基础增强

题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 为了熟悉加强基础练习,搞搞经典小demo..话不多说,直接贴代码,看注释.package www.test;import java.util.Scanner; public class Resovle { public static void main(String[] args) { /** 简单分析: * 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. 如果n能被k整除,则应打印出k的值,并用n除

java分解质因数

1 package test; 2 3 import java.util.Scanner; 4 5 public class Test19 { 6 /** 7 * 分析:对n进行分解质因数,应先找到一个最小的质数k 8 9 * 最小的质数:即“2”.2是最小的质数,即是偶数又是质数,然后按下述步骤完成: 10 11 *(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. 12 13 *(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重

java编程题 --分解质因数

package Solve; import java.util.Scanner; public class Solve { static Scanner scan = new Scanner(System.in); public static void main(String[] args) { System.out.println("请输入一个正整数:"); int num = scan.nextInt(); System.out.print(num + " = "

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

import java.util.Scanner; /*题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步. (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步.*/ public class Test

java求最大公约数(分解质因数)

下面是四种用java语言编程实现的求最大公约数的方法: package gcd; import java.util.ArrayList; import java.util.List; public class gcd { public static void main(String[] args) { long startTime; long endTime; long durationTime; int[] testArray1 = new int[]{784, 988, 460, 732,

中国MOOC_零基础学Java语言_第7周 函数_1分解质因数

第7周编程题 查看帮助 返回 第7周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩. 1 分解质因数(5分) 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数.比如,6可以被分解为2x3,而24可以被分解为2x2x2x3. 现在,你的程序要读入一个[2,10000

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

* 题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. * 分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:  *(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可.  *(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步.  *(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步.  *这个题目很明显是要用递归算法来实现的,打印"*"有些技巧,但也

java例题_04 分解质因数

1 /*4 [程序 4 分解质因数] 2 题目:将一个大于 2 正整数分解质因数.例如:输入 3, 3=3, 输入 6, 6=2*3,输入 90, 90=2*3*3*5. 3 程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成: 4 (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. 5 (2)如果 n<>k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数 n,重复执行第 6 一步. 7 (3)如果 n

Java练习(四)--分解质因数

题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步. (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步. public class Test1 { public void zhi(int n) { Sy