1. paizaラーニングトップ
  2. レベルアップ問題集
  3. 素数メニュー(言語選択)
  4. 問題一覧 Java編
  5. 最小公倍数

素数メニューのサムネイル
最小公倍数 (paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

複数個の整数に共通する倍数のうち、最小のものを最小公倍数といいます。
整数 N と N 個の整数 A_1 , ... , A_N が与えられるので、A_1 , ... , A_N の最小公倍数を求めてください。

なお、最小公倍数は、「全ての整数のうち、いずれかの整数の素因数の{最大の指数}乗」の積になることが知られています。
例として、12 , 30 , 81 の最小公倍数は、 12 = 2^2 × 3^1 × 5^0 , 30 = 2^1 × 3^1 × 5^1 , 81 = 2^0 × 3^4 × 5^0 より、素因数 2 についての乗数の最大値は 2 , 素因数 3 についての乗数の最大値は 4 , 素因数 5 についての乗数の最大値は 1 であるため、最小公倍数は 2^2 × 3^4 × 5^1 = 1620 となります。

入力される値

N
A_1
...
A_N


・ 1 行目で整数 N が与えられます。
・ 続く N 行のうち、 i 行目では整数 A_i が与えられます。(1 ≦ i ≦ N)


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

A_1 ... A_N の最小公倍数を 1 行で出力してください。
出力の末尾には改行を入れてください。

条件

・ 1 ≦ N ≦ 100
・ 1 ≦ A_i ≦ 100 (1 ≦ i ≦ N)
・ 答えは 10^13 以下になることが保証されている。

入力例1

2
10
25

出力例1

50

入力例2

4
2
3
5
7

出力例2

210

問題一覧へ戻る

ページの先頭へ戻る