
正文
java求解质因数代码 java求因数
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java实现:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
呵呵,楼主是初学者吧,这个只要动动脑筋,也很容易实现的。
且看看我的代码吧:
import java.util.*;
public class Nicki{
public static void main(String[] args){
System.out.println("java分解正整数质因数例子!");
System.out.println("请你输入一个正整数,并按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分解完毕!");
}
}
相关问答
Q1: 用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]
Q2: 输出一个数的质因数,java新手虚心求教
您好,代码如下,望采纳~~~
import java.util.*;
public class App
{
public static void main(String[] args)
{
int n,i=2;
Scanner read=new Scanner(System.in);
System.out.print("输入n(n1):");
n=read.nextInt();
System.out.print(n+"=");
while(true)
{
while(inn%i==0)
{
System.out.print(i+"*");
n/=i;
}
if(i==n)
break;
i++;
}
System.out.println(i);
}
}
Q3: 求一个Java分解质因数方法
import java.util.Scanner;
public class Try
{
static boolean is_odd(int n)
{
if(n==2||n==3) return true;
if(n%2==0) return false;
int i;
for(i=3;i=n/2;i+=2)
if(n%i==0) return false;
return true;
}
public static void main(String[] args)
{
Scanner in=new Scanner(System.in);
System.out.println("输入数值");
int n=in.nextInt();
int i;
System.out.print(n+"=");
for(i=2;i=n;i++)
{
if(!is_odd(i)) continue;
if(n%i==0)
{
while(true)
{
System.out.print(i);
n/=i;
if(n!=1) System.out.print("*");
if(n%i!=0) break;
}
}
}
System.out.println();
}
}
要给分啊java求解质因数代码!java求解质因数代码!!
Q4: 急!!JAVA程序 怎么把一个数分解质因数呀?要代码
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int num=40;//测试数据java求解质因数代码,java求解质因数代码你也可以用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求解质因数代码和java求因数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








