1631: d-规则问题

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:0

题目描述

 对任意给定的m(mN+)n(nN+),满足m<n,构造一初始集合:P={x|mxn,xN+}(m,n100)

      现定义一种d规则如下:若存在aP,且存在KN+ ,K>1,使得K´aP,则修改P为:P=P-{y|y=k´a,sN+ } ,并称该d规则具有分值a。现要求编制一个程序,对输入的m,n值,构造相应的初始集合P,对P每应用一次d规则就累加其相应的分值,求能得到最大累加分值的d规则序列,输出每次使用d规则时的分值和集合p的变化过程。

 

问题简述:

       P为由mn自然数组成的集合,如果P集合中存在某元素a和该元素的倍数构成的元素k*a,则从P中删去aa倍数的元素,获得一个a分值,称为运用一次d规则,不断运用d规则,每运用一次d规则,累加一次a分值,求最大累加分值的d规则序列。

       输出每次使用d规则时的分值和集合p的变化过程。

输入

56 57

输出

0

样例输入 复制

1 10

样例输出 复制

5 : 1 2 3 4 6 7 8 9
4 : 1 2 3 6 7 9
2 : 1 3 7 9
3 : 1 7
1 :

提示

in

4 19

out

9 : 4 5 6 7 8 10 11 12 13 14 15 16 17 19
8 : 4 5 6 7 10 11 12 13 14 15 17 19
7 : 4 5 6 10 11 12 13 15 17 19
6 : 4 5 10 11 13 15 17 19
5 : 4 11 13 17 19