打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
显示一个正整数的所有素数因子
userphoto

2022.12.21 河北

关注

给定一个正整数,输出该数的所有素数因子,例如6的素数因子为2,3。

首先素数的概念是:素数一般指质数。质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。代码实现:

public static boolean isPrime(int value)
	{
		boolean flag = true;
		if(value<2)
			flag = false;
		else
		{
			for(int i=2;i<value;i++)
				if(value%i==0)
				{
					flag = false;
					break;
				}
		}
		return flag;
}	

如果传入参数2,那么内部循环不符合条件,直接返回flag=true。大于2的正整数进入内部循环,进行判断。

计算出素数因子,首先随机生成一个正整数,每次i从2开始,判断该数是否是素数,如果是素数在判断是否是能被num整除,如果都满足输出i,num随后进行改变num=num/i;最后num变为1,所有结束条件是num>1.

		int num = (int)(Math.random()*(1000))+2;
		System.out.println(num);
		int count = 1;
		while(num>1)
		{
			for(int i=2;i<=num;i++)
			{
				if(isPrime(i)&&(num%i==0))
				{
					System.out.println(i+"  ");
					num=num/i;
					count*=i;
					break;
				}
			}
		}
		System.out.println("\n"+count);

输出结果如下:

916

2  2  229  

916

这里主要完成解决问题的思路,如果有错误,请大家多多指导,共同学习。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Java循环和数组练习题:打印素数升级版
素数筛法
C++ 笔试基础题 43 统测一 -------超级素数幂
CDays–5 习题三(求质数)及相关内容解析。
【Go语言入门100题】028 判断素数 (10 分) Go语言 | Golang
第三周作业
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服