CF448E.Divisors
提高+/省选-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Bizon the Champion isn't just friendly, he also is a rigorous coder.
Let's define function f(a), where a is a sequence of integers. Function f(a) returns the following sequence: first all divisors of _a_1 go in the increasing order, then all divisors of _a_2 go in the increasing order, and so on till the last element of sequence a. For example, f([2, 9, 1]) = [1, 2, 1, 3, 9, 1].
Let's determine the sequence X__i, for integer i (i ≥ 0): _X_0 = [X] ([X] is a sequence consisting of a single number X), X__i = f(X__i - 1) (i > 0). For example, at X = 6 we get _X_0 = [6], _X_1 = [1, 2, 3, 6], _X_2 = [1, 1, 2, 1, 3, 1, 2, 3, 6].
Given the numbers X and k, find the sequence X__k. As the answer can be rather large, find only the first 105 elements of this sequence.
冠军比松(Bizon)不仅友善,还是一位严谨的程序员。
我们定义函数 f(a),其中 a 是一个整数序列。函数 f(a) 返回如下序列:首先按升序列出 a1 的所有约数,然后按升序列出 a2 的所有约数,依此类推,直到序列 a 的最后一个元素。例如,f([2,9,1])=[1,2,1,3,9,1]。
我们定义整数 i(i≥0)对应的序列 Xi 如下:X0=[X](即仅包含单个数字 X 的序列),且当 i>0 时,Xi=f(Xi−1)。例如,当 X=6 时,有 X0=[6],X1=[1,2,3,6],X2=[1,1,2,1,3,1,2,3,6]。
给定整数 X 和 k,请找出序列 Xk。由于答案可能非常大,请仅输出该序列的前 105 个元素。
输入格式
A single line contains two space-separated integers — X (1 ≤ X ≤ 1012) and k (0 ≤ k ≤ 1018).
一行包含两个以空格分隔的整数 — X(1 ≤ X ≤ 1012)和 k(0 ≤ k ≤ 1018)。
输出格式
Print the elements of the sequence X__k in a single line, separated by a space. If the number of elements exceeds 105, then print only the first 105 elements.
在一行中输出序列 Xk 的所有元素,元素之间用空格分隔。如果元素个数超过 105,则只输出前 105 个元素。
输入输出样例
输入#1
6 1
输出#1
1 2 3 6
输入#2
4 2
输出#2
1 1 2 1 2 4
输入#3
10 3
输出#3
1 1 1 2 1 1 5 1 1 2 1 5 1 2 5 10
输入解题思路,AI测评打分。不知道怎么写?