将一个整数分解为质数的乘积

题目:将一个整数分解为质数的乘积

(质数就是除了1和它本身之外,再也没有整数能被它整除的数.比如:2..3.5.7.11.13.17.19.23.39.31…………………………
素数就是质数.质数之外的数称为合数.合数比如:4.6.8.16.32.64.72……………………………………
但是注意,1既不是素数也不是合数.)

方式1:

import java.util.ArrayList;
import java.util.List;
import java.util.*;
public class test1 {

		    public static void main(String[] args) {
		    	Scanner scanner=new Scanner(System.in);
		    	 int n=scanner.nextInt();
		        serch(n);
		    }
		    public static void serch(int n){
		        List<Integer> list = new ArrayList<Integer>();
		        int i = 2;
		        int j = 0;
		        System.out.print(n+"=");
		        while (n >= 2) {
		            if (n % i == 0) {
		                list.add(i);
		                n /= i;
		                i = 2;
		            }else {
		                i++;
		            }
		        }
		        int t=list.size()-1;
		        for (Integer l : list){
		            System.out.print(l);
		            if (j<t) {
		            	 System.out.print("*");
		            	 j++;
					}
		            
		        }
	
		    }
}

 如输入120,结果如下

方式2:

import java.util.*;
public class test1 {

		    public static void main(String[] args) {
		    	Scanner scanner=new Scanner(System.in);
		    	 int n=scanner.nextInt();
		    	 primeCount(n);
		    }
		    public static void primeCount(int num) {
				StringBuffer sb = new StringBuffer();
				sb.append(num + "=");
				int minNumber = 2;// 定义最小的质数
				while (minNumber < num) {
					if (num % minNumber == 0) {
						num = num / minNumber;
						sb.append(minNumber + "*");
					} else {
						minNumber++;
					}
				}
				sb.append(minNumber);
				System.out.print(sb.toString());
			}
	}

输入90,结果如下 

 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值