zl程序教程

您现在的位置是:首页 >  后端

当前栏目

算法提高 8-1因式分解

算法 提高
2023-09-11 14:20:51 时间

时间限制:10.0s  内存限制:256.0MB

问题描述

  设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出2*3。输入20,输出2*2*5。

样例

  与上面的样例输入对应的输出。

数据规模和约定

  输入数据中每一个数在int表示范围内。

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		int n=sc.nextInt();
		f(n);
	}
	public static int sushu(int n){
		for(int i=2;i<n;i++){
			if(n%i==0){
				return 0;
			}
		}return 1;
	}
	public static void f(int n){
		if(sushu(n)==1){
			System.out.println(n);
		}else{
			for(int i=2;i<n;i++){
				if(n%i==0){
				System.out.print(i+"*");
				if(sushu(n/i)==1){
				System.out.print(n/i);	
				break;
				}else{
					f(n/i);
					}
				break;
			}}
		}
	}
}