java中分解质因数代码的简单介绍

用JAVA中递归思想编写程序:分解质因数例如90=2×3×3×5

按照你的要求编写的Java程序如下:

专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!创新互联为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,网站设计、成都网站制作负责任的成都网站制作公司!

import java.util.Scanner;

public class CCT{

public static void f(int n,int m){

int i=2;

if(n2)return;

while(!(n%i==0)){

i++;

}

if(m==1)System.out.print(i);

else System.out.print("*"+i);

f(n/i,m-1);

return;

}

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

System.out.print(n+"=");

f(n,1);

System.out.println();

}

}

运行结果:

90

90=2*3*3*5

Java 分解质因数

import java.util.Scanner;

public class test{

public static void main(String []args){

10

int n,m=0;

Scanner sc = new Scanner(System.in);

System.out.print("input your number:");

n = sc.nextInt();

m = n;

boolean f=true;

for (int i=2; i=n/2; i++) { //判断是否是素数

if (n%i == 0) {

f = false;

break;

}

}

if (f) {

System.out.println(n + "=1*" + n);

} else {

boolean s = false;

int i = 0;

while (n 0)

{

for (i=2; i=n/2; i++) {

if (n%i == 0) { //如果i是n的因数

f = true;

for (int j=2; j=i/2; j++) { //判断i是不是素数

if (i%j == 0) {

f = false;

break;

}

}

if (f) {

if (s) { //如果不是第一次打印

System.out.print("*" + i);

} else { //如果是第一次打印

System.out.print(i);

s = true;

}

n /= i;

break;

}

}

}

if (i n/2) {

break;

}

}

System.out.println("*" + n + "=" + m);

}

}

}

用java编程可以将一个正整数分解质因数吗?

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

算法实现构思:

1、用Scanner实现输入一个正整数n

2、用一个for循环遍历一个从 k=2开始查找到k=n的数

3、如果 n%k==0的时候,输出k的值

4、然后把n的值递归一下,即 n=n/k

5、这个时候要把for循环重新执行,即再定义k=2

下面是实现代码:

下面是运行结果

上面是后来整理的构思以及代码实现,一开始拿到这个题目,就立马去做了,可是马上掉进了各种各样的坑,我觉得以后做算法题先把做题思路想好,从部分到整体,不然一道简单的算法题就要耗掉很多时间。

参考资料

CSDN.CSDN[引用时间2018-1-5]

用Java对正整数分解质因数?

因为你没有加结束的条件

在函数中第一行加

if(x==0)//x==0该子问题结束

return;

递归两个必须元素:

(1)递归终止的条件

(2)分解问题

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

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

算法实现构思:

1、用Scanner实现输入一个正整数n

2、用一个for循环遍历一个从 k=2开始查找到k=n的数

3、如果 n%k==0的时候,输出k的值

4、然后把n的值递归一下,即 n=n/k

5、这个时候要把for循环重新执行,即再定义k=2

下面是实现代码:

下面是运行结果

上面是后来整理的构思以及代码实现,一开始拿到这个题目,就立马去做了,可是马上掉进了各种各样的坑,我觉得以后做算法题先把做题思路想好,从部分到整体,不然一道简单的算法题就要耗掉很多时间。

参考资料

CSDN.CSDN[引用时间2018-1-5]

急!!JAVA程序 怎么把一个数分解质因数呀?要代码

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

int num=40;//测试数据,你也可以用Scanner获取输入数据,但是为了方便

for(int i=2;i=num;i++){

while(num!=i){

if(num%i==0){

System.out.println("质因数是:"+i);

num=num/i;

}

else

break;

}

}

System.out.println("质因数是:"+num);

}

}


本文标题:java中分解质因数代码的简单介绍
URL分享:http://scjbc.cn/article/dsgspdj.html

其他资讯