下表显示了从0到30的数字编码。我需要解密加密原理,然后用c或c ++编写一个程序,该程序对给定的自然数序列进行编码(输入数可以容纳32-位整数)。什么是密码原理?
0 .
1 ()
2 (())
3 (.())
4 ((()))
5 (..())
6 (()())
7 (...())
8 ((.()))
9 (.(()))
10 (().())
11 (....())
12 ((())())
13 (.....())
14 (()..())
15 (.()())
16 (((())))
17 (......())
18 (()(()))
19 (.......())
20 ((()).())
21 (.().())
22 (()...())
23 (........())
24 ((.())())
25 (..(()))
26 (()....())
27 (.(.()))
28 ((())..())
29 (.........())
30 (()()())
答案 0 :(得分:3)
主要分解。该列表由质数的顺序键入。列表的元素依次表示2、3、5、7,...
给定元素的括号表示素数是一个因子;点表明不是。级联元素是不同数量的乘法;嵌套元素乘以素数。因此...
(()) first element is (), for 2.
(.()) second element is (), for 3.
((())) first element is (()); the nesting denotes raising to a power. They're both 2, so we get 2^2, or 4.
((.())) is 2^3, or 8.
(((()))) is 2^4, or 16.
(()()) is 2*3, or 6.
这会让你动起来吗?