java输入一个正整数输出它的所有质数的因子~求解答急急急急!

java输入一个正整数输出它的所有质数的因子~求解答急急急急!如图那种格式

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

import java.util.*;
public class Main //主类名称必须为Main
{
 public static void main(String[] args) throws Exception 
 {
  Scanner cin=new Scanner(System.in);
  System.out.print("请输入一个正整数:");
  int n=cin.nextInt();
  System.out.print(n+"=");
  int count=0;
  for(int i=2;i<=n;i++){
   if(n%i==0){
    if(count==0)
     System.out.print(i);
    else
     System.out.print("*"+i);
    count++;
    n=n/i;
    i--;
   }
  }
 }
}

运行结果:

请输入一个正整数:90
90=2*3*3*5

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-06-21
在main方法中继续写:
for(int i=2;i<=sqrt(n);i++){
if(n%i==0) && () prime(i){

System.out.println(i+", ");
}
}

在main方法外写一个prime方法:
boolean prime(int n)
{
inti,bound;
if(n%2==0) return 2;
if(n%3==0) return 3;
if(n%5==0) return 5;
bound =root(n);
for(i=7;i<=bound;i=i+2)
if(n%i==0)
return false;
return true;
}追问

这个应该怎么修改?

追答

import java.math.*;

sqrt 函数需要引包

追问

嗷嗷

有时间我再调试一下

谢谢

编程题,输入一个正整数,输出它的所有质数的因子(如180的质数因子为2...
import java.util.*;public class Main{ public static void main(String[]args){ Scanner str=new Scanner(System.in);long num=str.nextLong();String result=getResult(num);System.out.println(result);} public static String getResult(long num){ int pum=2;String result="";while(num!=...

java:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程...
代码:public class Test {public static final void main(String[] args) {\/\/ 质数(prime number)又称素数\/\/ 对n进行分解质因数,应先找到一个最小的质数kSystem.out.println("该程序实现一个正整数分解质因子");System.out.println("请输入一个正整数:");Scanner scanner = new Scanner(Syst...

用java编程 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3...
one;import java.util.*;public class ProOne { \/\/题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。\/\/程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:\/\/(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。\/\/(2)如果n<>k...

Java输入两个正整数,输出其间的所有质数,如果输入的数正好是质数也输出...
import java.util.Scanner;public class Test { public static void main(String[] args) { Scanner sc=new Scanner(System.in);System.out.println("输入值");int a=sc.nextInt();System.out.println("输入值");int b=sc.nextInt();sc.close();\/\/输入范围的数字不分先后,这里进行判断 in...

编写java,输入正整数N,判断N是否为质数。就比如你输入91,电脑回答...
public static void main(String[] args) {\/\/程序入口 Scanner sc=new Scanner(System.in);\/\/声明个输入 System.out.println("请输入要判断的数字:");int num=sc.nextInt();\/\/获取输入num String str=NewPro.isTrue(num);\/\/调用方法isTrue,输出结果 System.out.println (str);\/\/输出结果 ...

...输入一个正整数,在立即窗口输出该正整数的质因数列,如 输入:90...
n = InputBox("输入一个正整数")s = ""For I = 2 To Sqr(n)Do While n > 1 And n Mod I = 0 s = s & I & "*"n = n \/ I Loop If n = 1 Then Exit For Next s = IIf(n = 1, Left(s, Len(s) - 1), s & n)Debug.Print s ...

由键盘输入一个正整数,找出大于或等于该数的第一个质数。
f:=——(2)——ELSE ——(3)——;IF NOT f THEN a:=a+1;END;Writeln(a);END.解答:本题中,程序通过一个标志量f来标志是否结束查找的过程。如果f为True,则继续寻找,即将a的值加1。否则此时的a即为所求的质数。本题的正确答案为:(1)True:(2)False:(3)k:=k+1。

输出200以内的质数java
public class PrimeDemo { public static void main(String[] args) { \/\/ 外层循环,遍历2-200之间的数 for (int i = 2; i <= 200; i++) { \/\/ 对100-200之间的每一个数进行遍历 \/\/ 质数,正整数,除了1和它本身之外,不能被任何中间数整除 boolean flag = true; \/\/ false 不是 ...

c语言 输入一个正整数n,输出n的所有因子
如果不是n的因子,那么就跳出循环,进入下一个因子的检查。如果i不是n的质因子,就简单地将i自增1,继续寻找下一个可能的因子。当程序运行时,只需输入两个大于2的正整数,程序会自动检测n是否包含m的所有质数因子,并给出相应的输出结果。这样,你就得到了一个直观的因子检测工具,方便快捷。

题目:将一个正整数分解质因数。例如:输入 90, 打印出 90=2*3*3*5...
\/\/分解.从1到num检查,看看是不是因子。for(i=2; i<=num; i++)while(num%i==0){ num\/=i;printf("%d*",i);} \/\/1:输出最后一个因子。一定是1,如果上面for有=num也输出来了,所以只剩下1 \/\/即:num==1;\/\/2:如果for没有=num的情况,那么,不一定是1的情况,可能还是其他,可以...

相似回答