
正文
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);
}
}
}
相关问答
Q1: 用JAVA中递归思想编写程序:分解质因数例如90=2×3×3×5
按照java分解因数的代码你java分解因数的代码的要求编写java分解因数的代码的Java程序如下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();
}
}
运行结果java分解因数的代码:
90
90=2*3*3*5
Q2: 急!!JAVA程序 怎么把一个数分解质因数呀?要代码
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=40;//测试数据java分解因数的代码,你也可以用Scanner获取输入数据java分解因数的代码,但是为java分解因数的代码了方便
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);
}
}
Q3: 用java编程 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
将一个正整数分解质因数。例如:输入60;打印出2*3*5*2
算法实现构思:
1、用Scanner实现输入一个正整数n
2、用一个for循环遍历一个从 k=2开始查找到k=njava分解因数的代码的数
3、如果 n%k==0的时候java分解因数的代码,输出k的值
4、然后把n的值递归一下,即 n=n/k
5、这个时候要把for循环重新执行,即再定义k=2
下面是实现代码:
下面是运行结果
上面是后来整理的构思以及代码实现,一开始拿到这个题目,就立马去做了,可是马上掉进了各种各样的坑,我觉得以后做算法题先把做题思路想好,从部分到整体,不然一道简单的算法题就要耗掉很多时间。
参考资料
CSDN.CSDN[引用时间2018-1-5]
Q4: java实现:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
呵呵java分解因数的代码,楼主是初学者吧java分解因数的代码,这个只要动动脑筋,也很容易实现java分解因数的代码的。
且看看我的代码吧:
import java.util.*;
public class Nicki{
public static void main(String[] args){
System.out.println("java分解正整数质因数例子!");
System.out.println("请java分解因数的代码你输入一个正整数,并按Enter确认");
Scanner sc=new Scanner(System.in);
int Num=sc.nextInt();
//首先,我们需要得到,输入的这个数Num的一半以内的所有质数
VectorInteger vec;
vec=new Vector();
Lab:for(int i=2;i=Num;i++){
for(int j=2;j=i/2;j++){
if(i%j==0i!=2){//说明能被整除,则i不是质数
continue Lab;
}
}
//内层for正常完成后,说明i是质数
vec.add(i);//添加到列表
}
//下面开始分解质因数
System.out.println(Num+"的分解结果是:\n");
System.out.print(Num+"=");
int theNum=Num;
boolean help=true;
for(int k=0;kvec.size();k++){
int qq=(int)vec.get(k);
if(theNumqq)
break;
if(theNum%qq==0){//水明能被整除,则qq就是Num的一个质因数
if(help==true){
System.out.print(qq);
help=false;
}else{
System.out.print("*"+qq);
}
k--;//因为,完全有可能Num还能被qq整除,
//所以重新执行一遍
theNum=theNum/qq;
}
}
System.out.println("\n分解完毕!");
}
}
Q5: 用Java对正整数分解质因数?
因为你没有加结束的条件
在函数中第一行加
if(x==0)//x==0该子问题结束
return;
递归两个必须元素:
(1)递归终止的条件
(2)分解问题
关于java分解因数的代码和java因式分解代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






