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…
-------------------------------------------------------------------------- 递归更多的用在多分支情况中 本题用循环就可以了 用递归就麻烦了 -------------------------------------------------------------------------- import java.util.*; public class Main { public static void main(Stri…
首先我们的算法是:例如 输入的是 90 1.找到90的最小公约数(1除外)是 2 2.然后把公约数 2 输出 3.接着用 90 / 2 = 45 (如果这里是素数,就结束,否则继续找最小公约数) 4.找到45 的最小公约数 (最小公约数是 3) 5.输出 3   接着重复第3步...........(反正只要第3步是素数,就结束掉) 话不多说,都在代码里了. public static void main(String[] args) { // TODO Auto-generated metho…
  package test; import java.util.Scanner; public class Test19 { /** * 分析:对n进行分解质因数,应先找到一个最小的质数k * 最小的质数:即“2”.2是最小的质数,即是偶数又是质数,然后按下述步骤完成: *(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可. *(2)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步. *(3)如果n不能被k整除,则用k+1作…
下面是四种用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,…
/** * 描述:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. * 分析: * 对n进行分解质因数,应该先找到一个最小的质数k,然后按照下列步骤进行: * (1)如果这个质数恰等于n,这说明分解质因数的过程已经结束,打印出即可 * (2)如果n!=k,但n等被k整除,这应打印出k的值,并用n除以k的商,作为新的正整数,重复执行第一步 * (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步 * 作者:徐守威 */ package com.xushouwei; i…
题目:将一个正整数分解质因数.例如:输入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除…
算法目的:对一个正整数分解质因数 一.算法分析: 1.建立整数列表,保存求到的因数. 2.声明整数i=2,用以递增取模:整数m,用于临时保存n 3.建立while循环,i小于等于整数m时,判断m%i,如果等于0,可以被整除,则令 m = m/i 将 i添加到 整数列表:如果m%i不等于0,i++ 4.判断整数列表长度,如果长度为1,则认定n是质数:否则为合数并打印列表 5.加入n的开方值比较,如果i 递增到n的开方值但整数列表的大小仍为0,则认为此数是质数 二.运算结果抢先看 三.基础程序 pa…
题目:将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. 将一个正整数分解质因数分析:对n进行分解质因数,找到最小的质数k如果这个质数恰好等于n则说明分解质因数过程已经结束,打印输出即可如果n<>k,但n能被k整除,则因打印k的值,并用n除以k的商,作为新的正整数n,重复2如果不能被k整除,则用k+1作为k的值 import java.util.*; public class Rabbit{ public static void main(String[] args){ Sy…
总结:1.break;的用法 当最小质因数不能被输入的值整除时,需要继续循环.k++. 当然输入的数,本身就是质数时,那么 package com.b; import java.util.Scanner; //想办法用数组.一次性,多个的输出分解质因数 public class fa4 { public static void main(String[] args) { Scanner c = new Scanner(System.in); System.out.print("输入的数是:&qu…