第二百二十八章 山外有山(2 / 4)

李颜其实马上就有思路了,单词长度有限,对应数字有限,可以算出来一个上限数字,再把范围内的素数筛选出来做一个集合u,然后直接套公式计算单词字母对应的数字和x,将结果跟素数集合直接比对,结果是u[x]=1就输出Itisaprimeword,反之同理,问题得解。

在李颜看来,后边套公式计算并不是这道题真正的难度,真正考验的是素数筛选。

要知道,“吸入硅酸盐细末或石英岩灰而形成的肺尘埃沉着病”的英文,是pneumonoultramicyoscpicailicovolcanoconiosis,特么的有整整45个字母。

这还不一定就是最长的,只是李颜知道的最长单词,就算取平均值13,来一个50个字母的单词,上限就去到650了。

这个素数可不太好筛啊……

不对,问题不在这,如果不知道上限在哪,万一这世界上有1913个字母组成的单词呢?

某些专业名词鬼知道会整出什么来,那这素数筛选难道还要给算到两万去吗?

这难度可不是闹着玩的啊。

一瞬间,李颜意识到不对,这还不是最难的双人合作题,他这种全能战神都举棋不定的问题,其他人玩蛇?

他鬼使神差地把鼠标滚轮一推:

“输入给出一个单词集合,单词字母随机组成,每个单词一行,字母数量不超过20”

我尼玛……他一瞬间差点把手抠进键盘里,怎么看题目都像结束了,怎么偏偏这一行给藏了起来!

不超过20,随机给定,也就是上限值不超过520,只需要筛选1到520之间的素数就行了。

怎么筛?硬筛。

李颜背过1到300的素数集,剩下的排除一些显而易见的合数之后,需要计算的也并不多。

妈的,早知道直接背到1000了,这会儿不是直接嘎嘎乱杀?

一道并不算太难的题愣是给李颜自己整出了紧张感,素数筛选集一搞完,他马不停蹄地开始构建公式。

最终他连检查都不做,在写完程序的那一刻直接点击了提交。

举报本章错误( 无需登录 )