ブルーブリッジカップ試験問題基礎練習分解素因数BASIC-16 JAVA
7186 ワード
目次前言 試験問題基礎練習分解素因数 本題コード 前言
最近ずっと面接をして、多くの书いたコードはすべてブログを出すのがおっくうで、今补って、しかし注釈は比较的に少ないかもしれなくて、みんなはもし问题があれば私に连络してください
試験問題の基礎練習分解質因数
リソース制限時間制限:1.0 sメモリ制限:512.0 MB
問題記述は区間[a,b]におけるすべての整数の質量係数分解を求める.
入力フォーマットは、2つの整数a,bを入力します.
出力フォーマットは、k=a 1 a 2 a 3...(a 1<=a 2<=a 3...、kも小さいものから大きいものまで)の数の分解を行ごとに出力する(具体的には例を参照).
サンプル入力3 10
サンプル出力3=3 4=22 5=5 6=23 7=8=22 9=33 10=25
ヒントはまずすべての素数をふるい出してから分解します.
データ規模と約定2<=a<=b<=10000
本題コード
最近ずっと面接をして、多くの书いたコードはすべてブログを出すのがおっくうで、今补って、しかし注釈は比较的に少ないかもしれなくて、みんなはもし问题があれば私に连络してください
試験問題の基礎練習分解質因数
リソース制限時間制限:1.0 sメモリ制限:512.0 MB
問題記述は区間[a,b]におけるすべての整数の質量係数分解を求める.
入力フォーマットは、2つの整数a,bを入力します.
出力フォーマットは、k=a 1 a 2 a 3...(a 1<=a 2<=a 3...、kも小さいものから大きいものまで)の数の分解を行ごとに出力する(具体的には例を参照).
サンプル入力3 10
サンプル出力3=3 4=22 5=5 6=23 7=8=22 9=33 10=25
ヒントはまずすべての素数をふるい出してから分解します.
データ規模と約定2<=a<=b<=10000
本題コード
import java.util.Scanner;
public class PrimeDecomposition {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int[] array = new int[b - a + 1];
if (a == b)
array[0] = a;
else
for (int i = a, j = 0; i <= b; i++, j++)
array[j] = i;
for (int value : array) {
StringBuffer st = new StringBuffer(value + "=");
int z = 2;
while (z <= value) {
if (value % z == 0) {
if (st.charAt(st.length() - 1) != '=') st.append("*");
st.append(z);
value = value / z;
z = 2;
} else
z++;
}
System.out.println(st);
}
}
}