「一个数的所有因子java」求一个数的因子个数

博主:adminadmin 2023-01-16 05:18:09 507

今天给各位分享一个数的所有因子java的知识,其中也会对求一个数的因子个数进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

用java从键盘输一个整数,输出这个整数所包含的全部质因子 请帮我改下这个程序 谢谢啦!!!!!

import java.util.Scanner;

public class Factor {

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int a = in.nextInt();

System.out.print(a+"的所有因子是:");

int k; boolean result;

for(int i = 1;i=a;i++){

if(a%i==0){

k=i;

result = isPrime(k);//调用方法要传参数

if(result == true){

System.out.println(" "+k);//这个是java程序。不能用C++的显示方式

}

}

}

}

//isPrime()是一个方法,不能在方法内定义,而且要带参数的时候,要带类型

public static boolean isPrime(int k)

{

long m= Math.round(Math.sqrt(k));

if(k==2)return true;

for(int j = 3; j=m; j++){

if (k%j==0)return false;

}

return true;

}

}

Java编写输出一个整数的所有因子

import java.util.Scanner;

public class A {

public static void main(String[]args){

Scanner in = new Scanner(System.in);

int a = in.nextInt();//从控制台读入一个整数,也可以在这直接给a赋给初值

System.out.print(a+"的所有因子是:");

for(int i = 1;i=a;i++){

if(a%i==0){ //a对i取余,能除尽i就是a的因子

System.out.print(i+" ");//打印这个i值

}

}

}

}

Java中怎样实现输入一个数,求它的所有因子里面的素数

/**

* 输入一个数

* num

*/

System.out.println("请输入一个数:");

int num = 0;

try {

num = Integer.parseInt(new BufferedReader(new InputStreamReader(System.in)).readLine());

} catch (Exception e) {

// TODO Auto-generated catch block

System.out.println("你输入的不是数字:");

e.printStackTrace();

return;

}

/**

* 求质因子

*/

System.out.println("该数的质因子:");

ListInteger list= new ArrayListInteger();

for(int i=1;i=num;i++){

if(num%i==0){

list.add(i);

num=num/i;

System.out.print(i+" ");

}

}

if(num1){

list.add(num);

System.out.println(num);

}

帮忙JAVA程序:由键盘输入一整数,求出该数所有的因子,如输入6,则输出的6的所有因子为1、2、3、6。

import java.util.*;

public class Test {

public static void main(String[] args) {

Scanner scan = new Scanner(System.in);

System.out.print("请输入一个整数:");

int aInt;

aInt = scan.nextInt();

System.out.println(aInt + "的因子如下:");

for(int i = 1; i = aInt; i ++) {

if(aInt % i == 0) {

System.out.print(i + " ");

}

}

}

}

用Java编写一个函数,求一个给定数的所有因子.

package factor;

import java.util.Scanner;

public class Factor {

//函数 gene

public static int gene(int a) {

for (int i = 1; i = a; i++) {

if (a%i== 0) {

System.out.print(i + " ");

}

}

return 0;

}

//函数 gene结束

public static void main(String[] args) {

// TODO Auto-generated method stub

int m;

System.out.println("请输入一个整数..");

Scanner s = new Scanner(System.in);

m = s.nextInt();

gene(m);  //调用函数

}

}

编写一个程序,求一个数的所有因子

package com.zyn.iteye;

import java.util.ArrayList;

import java.util.List;

public class StackOfIntegers {

//存放分解的素数

ListInteger list = new ArrayListInteger();

//主方法,求分解素数

public void getSub(int sum){

//获取中间数的后一个数,保证中间数可以在下面的for中被循环

int middle = getMiddleAfter(sum);

//2是最小的素数,从2开始循环除

for(int i=2;imiddle;i++){

//如果i不为素数,直接跳过,循环下个数

if(!isSuShu(i)){

continue;

}

//余数

int yu = sum%i;

//商

int last = sum/i;

if(yu==0){

//余数为0,i为sum的因子,填入list

list.add(i);

//如果商为素数,则添加商到list,程序结束

if(isSuShu(last)){

list.add(last);

return;

}

//如果商不为素数,递归商调用本方法,分解商

getSub(sum/i);

//如果sum可以被素数因子整除,直接分解商,后续的因子不必再循环

break;

}

}

}

//如果可以被2整除,则+1,否则+1后再除以2

public int getMiddleAfter(int num){

if(num%2==0){

return num/2+1;

}else{

return (num+1)/2;

}

}

//判断是否是素数

public boolean isSuShu(int num){

boolean flag = true;

for(int i=2;inum;i++){

if(num%i==0){

flag = false;

break;

}

}

return flag;

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

StackOfIntegers s = new StackOfIntegers();

s.getSub(120);

System.out.println(s.list);

}

}

关于一个数的所有因子java和求一个数的因子个数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。