UVA516 Prime Land
题目描述
在素数大陆上,每个人都使用素数基数系统。在这个系统中,每个正整数 $x$ 以下形式表示:让 $\{p_i\}_{i=0}^\infty$ 表示所有质数的递增序列。我们知道,当 $x>1$ 只能用一种方式表示,即质因数幂的乘积。这意味着存在一个整数 $k_x$ 和唯一确定的整数序列 $e_{k_x},e_{k_x−1},\cdots,e_1,e_0(e_{k_x} > 0)$,使得 $x=p_{k_x}^{e_{k_x}}\times p_{k_x-1}^{e_{k_x-1}}\times\cdots\times p_1^{e_1}\times p_0^{e_0}$。该序列
$$(e_{k_x},e_{k_x-1},\cdots,e_1,e_0)$$
被认为是在素数基数系统中表示 $x$ 的表示法。
事实上,在素数大陆上,所有基于素数的数字计算对我们来说可能有点不寻常,甚至有点困难。实际上,素数土地的孩子们学会了几年如何进行加减运算。另一方面,乘法和除法则非常简单。
最近,有人从计算机大陆度假回来,那里使用了称为计算机的小智能设备。结果表明,它们可以用于使素数基数系统中的加法和减法变得更加容易。已经决定进行一个实验,让计算机执行“减一”的操作。
帮助素数土地的人们编写一个相应的程序。
出于实际原因,我们将在此将素数基数表示写为上面所述的 $p_i$ 和 $e_i$ 的序列,其中 $e_i > 0$。我们将按照 $p_i$ 的递减顺序进行排列。
输入格式
输入文件由多行组成(至少一行),除最后一行外,每行包含大于 $2$ 且小于等于 $32767$ 的一个正整数的素数基表示。每行中的所有数字由一个空格分隔。
输入以 $0$ 结尾。
输出格式
输出包含与输入的每一行对应的一行,除了输入的最后一行。如果输入的一行包含一个正整数 $x$,输出文件的一行将包含 $x-1$ 的质数基表示。每行中的所有数字用一个空格分隔。输出文件中没有对应于输入文件中最后一个“null”行的行。