蓝桥杯 分解质因数

求出区间[a,b]中所有整数的质因数分解。
import java.util.Scanner;

public class PrimeDecomposition {
	static int[] temp ; //用来存放是不是质数 是为1 不是为0
	static String[] awStrings; //存放每个算过的结果
	public static void main(String[] args) {
		Scanner inScanner = new Scanner(System.in);
		int L = inScanner.nextInt();
		int R = inScanner.nextInt();
		temp = new int[R+2]; //防止溢出
		awStrings = new String[R+2];
		int k;
		for (int i = 2; i <= R; i++) { //循环算L——R
			for (int j = 2; j <= i; j++) { //判断 i 是什么数组成的
				if(j==i) //说明只有 1和i 为质数
				{
					temp[i]=1;
					awStrings[i]=String.valueOf(i);
					break;
				}
				if(temp[j]==1&&i%j==0) // 算出是两数(一个为质数和另一个数)的积
				{
					k=i/j;
					awStrings[i]=awStrings[j]+"*"+awStrings[k];
					break;
				}
			}
		}
		for (int i = L; i <= R; i++) {
			System.out.println(i+"="+awStrings[i]);
		}
	}

}

你可能感兴趣的:(划水摸鱼)