-->
当前位置:首页 > 题库

编程题:埃氏筛法

Luz4年前 (2022-09-05)题库262
米尔科斯的曾祖母卡蒂卡是一位狂热的数学家。她喜欢用数学游戏折磨米尔科。这一次,她在一张纸上写下了一系列数字,并告诉米尔科他可以做以下事情:

•选择序列中的任意两个数字(我们称它们为AIB)和一个素数X,这样A就可以被X整除。之后,米尔科擦除A并将A/X其位置写入。最后,他删除了B,并在其位置上进行了书写。米尔科可以任意多次执行此操作。他的目标是获得尽可能高的分数,因为如果他这样做,他会从曾祖母那里得到糖果。一个序列的分数是序列中所有数字的最大公约数。他不是很擅长这个,他喜欢他的糖果,所以他请你帮助他。

编写一个程序来计算可能的最大分数。既然你是一个很好的人,你也应该打印Mirko必须执行操作的最小次数,以获得最大可能的分数。

### 输入格式:

第一行输入包含一个整数N(1≤N≤100),表示开始序列中的元素数。

第二行输入包含N个小于或等于1000000的正整数,这是Katica给Mirko的序列。

### 输出格式:

输出的唯一一行应该包含两个整数。第一个整数是Mirko可能获得的最大分数。第二个整数是Mirko需要执行的最小操作数。

### 输入样例1:
in
3
4 4 1


### 输出样例1:
out
2 1


### 输入样例2:
in
3
8 24 9


### 输出样例2:
out
12 3


### 输入样例3:
in
5
4 5 6 7 8


### 输出样例3:
out
2 2









答案:若无答案欢迎评论