「javazhiyin数」java质因数
本篇文章给大家谈谈javazhiyin数,以及java质因数对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java实现:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
- 2、Java 分解质因数
- 3、java编程 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
- 4、怎样用java script将一个正整数分解成质因数。
- 5、求一个Java分解质因数方法
- 6、用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分解完毕!");
}
}
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编程 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果nk,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
怎样用java script将一个正整数分解成质因数。
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分解完毕!");
}
}
通过注释能够看懂吧,下面是我运行的结果,希望你能满意哦。
求一个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对正整数分解质因数?
因为你没有加结束的条件
在函数中第一行加
if(x==0)//x==0该子问题结束
return;
递归两个必须元素:
(1)递归终止的条件
(2)分解问题
关于javazhiyin数和java质因数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。