java代码分解质因数 java因式分解代码

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中递归思想编写程序:分解质因数例如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对正整数分解质因数?

因为你没有加结束的条件

在函数中第一行加

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

return;

递归两个必须元素:

(1)递归终止的条件

(2)分解问题


分享标题:java代码分解质因数 java因式分解代码
链接URL:http://cdiso.cn/article/dohdgpg.html

其他资讯