您的任务是使用以下描述的方法将103平滑数字转换成英文单词。
怎么样?
- 生成输入数字的主要因子列表(重复)。
- 排序列表:
- 如果2不是主要因素之一,请按升序对列表进行排序。
- 如果2是主要因素之一,请从列表中将其删除,然后按降序对其余因素进行排序。
使用下表将每个因子转换为字母:
3 = S 13 = L 29 = X 43 = O 61 = Z 79 = H 101 = K 5 = P 17 = Q 31 = N 47 = R 67 = T 83 = V 103 = Y 7 = M 19 = U 37 = C 53 = A 71 = E 89 = D 11 = F 23 = I 41 = W 59 = G 73 = J 97 = B
注意:此表是根据经验构建的,以最大程度地增加可能的单词数。出于好奇,这里列出了2187个可以用这种方式编码的单词(可能包括粗鲁的语言)。绝对不能保证它是最佳的,但足以应付这一挑战。
例子
示例1:579085261(升序)
- 主要因素是[37,47,53,61,103]。
- 2不是主要因素,因此我们将列表按升序排序。
- 37 = C,47 = R,依此类推。输出为“ CRAZY”。
示例2:725582(降序)
- 主要因素是[2,11,13,43,59]。
- 2是一个主要因素,因此我们将其删除并按降序对列表进行排序,从而得出:
[59,43,13,11]。 - 59 = G,43 = O,依此类推。输出为“ GOLF”。
示例3:10757494(具有重复因子)
- 主要因素是[2,11,71,71,97]。
- 2是一个主要因素,因此我们将其删除并按降序对列表进行排序,得到:
[97,71,71,11]。 - 97 = B,71 = E,11 =F。输出为“ BEEF”。
澄清和规则
- 输入数字保证为103平滑,并且最多可被2整除。
- 根据定义,平滑数是一个正整数。
- 输入和输出可以以任何合理的格式处理。输出可以是小写或大写。尾随空格是可以接受的。前导空格不是。
- 如果您的程序/功能不支持大量输入,请在答案中进行指定。
- 这是代码高尔夫,所以最短的答案以字节为单位。
测试用例
34874 --> ARM
483254 --> BAR
353722 --> EAR
494302 --> EGG
39061 --> FAT
6479 --> FUN
60421 --> ICE
54166 --> JAM
48911474 --> BETA
2510942 --> BOOM
2303854 --> DOOM
844261 --> FIRE
1606801 --> MAZE
1110085 --> PAGE
5212974 --> BALLS
67892046 --> BEANS
885396199 --> CREEK
67401037 --> FUNKY
27762173 --> QUICK
1238440506 --> ARROWS
33045832681 --> CRAGGY
1362714005 --> PIRATE
137302698 --> TROLLS
358310128062 --> BEGGARS
40255151586 --> DETAILS
164633248153 --> FIXATED
621172442227 --> UNRATED
2467812606 --> VACUUMS
86385078330 --> GROWNUPS
26607531423091 --> UNWORTHY
<=103
...您的结果是PIRATE MAZE
或DOOM VACUUMS
...
Ò
on上使用时命中了缓存579085261
,感觉<s> Emigna </ s> Adnan已经开始。