java 素数因子_Java程序,查找数字的唯一素数因子的乘积

Java程序,查找数字的唯一素数因子的乘积,Java代码如下-

示例public class Demo {

public static long prime_factors(int num){

long my_prod = 1;

for (int i = 2; i <= num; i++){

if (num % i == 0){

boolean is_prime = true;

for (int j = 2; j <= i / 2; j++){

if (i % j == 0){

is_prime = false;

break;

}

}

if (is_prime){

my_prod = my_prod * i;

}

}

}

return my_prod;

}

public static void main(String[] args){

int num = 68;

System.out.println("唯一素数因子的乘积为 ");

System.out.print(prime_factors(num));

}

}

输出结果唯一素数因子的乘积为

34

一个名为Demo的类包含一个名为素数因子的静态函数,该函数查找一个数字的素数因子,查找唯一的数字,并将这些素数因子的乘积存储在一个变量中。在main函数中,定义了数字的值,并通过将数字作为参数传递来调用函数。相关消息显示在控制台上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,我们需要了解什么是素数因子素数因子指的是一个数能够被分解成若干个素数乘积,那么这些素数就是这个数的素数因子。 接下来,我们可以编写一个Java程序来输出用户指定数据的所有素数因子。具体步骤如下: 1. 首先,我们需要从用户那里获取一个整数,可以使用Scanner类来实现。 2. 接着,我们需要编写一个方法来判断一个数是否为素数。可以使用一个循环来判断该数是否能被2到该数的平方根之间的任何一个数整除,如果能,则该数不是素数。 3. 然后,我们需要编写一个方法来获取一个数的所有素数因子。可以使用一个循环来依次判断该数是否能被2到该数的平方根之间的任何一个素数整除,如果能,则将该素数添加到一个列表中,并将该数除以该素数,继续判断。 4. 最后,我们可以在主方法中调用上述两个方法,输出用户指定数据的所有素数因子。 下面是一个简单的示例代码: import java.util.ArrayList; import java.util.Scanner; public class PrimeFactors { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个整数:"); int num = scanner.nextInt(); ArrayList<Integer> factors = getPrimeFactors(num); System.out.print(num + "的所有素数因子为:"); for (int factor : factors) { System.out.print(factor + " "); } } public static boolean isPrime(int num) { if (num <= 1) { return false; } for (int i = 2; i <= Math.sqrt(num); i++) { if (num % i == ) { return false; } } return true; } public static ArrayList<Integer> getPrimeFactors(int num) { ArrayList<Integer> factors = new ArrayList<>(); for (int i = 2; i <= Math.sqrt(num); i++) { if (isPrime(i) && num % i == ) { factors.add(i); num /= i; i--; } } if (num > 1) { factors.add(num); } return factors; } } 希望对你有帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值