当前位置: 首页 > 知识库问答 >
问题:

Raku列表理解

萧和平
2023-03-14

我使用的是Windows10i7第四代笔记本电脑,内存为8GB。

我想找出从1到100000000的数字之和可以被5整除。

我正在尝试在Raku REPL中运行此代码:

($_ if $_%5==0 for 1..1000000000).sum

代码运行了45分钟,仍然没有输出。我该如何克服呢?

在这种情况下,如何应用并发呢?我认为以上问题可以通过并发或任务并行来解决!!

共有1个答案

华宪
2023-03-14

我怎样才能克服它?

通过选择更好的算法:

my\N=1\u 000\u 000。你对价值感兴趣

[+] grep * %% 5, 1..N

这与

[+] map * * 5, 1..N/5

依次是

5 * [+] 1..N/5

Rakudo足够聪明,可以在恒定时间内求和一个范围,你会(几乎)立即得到你的结果。

 类似资料:
  • 我在寻找一个更简单的解决方案。 我有一个带相应后缀的前缀列表和一个根列表。 我想说出所有可能的“单词”:《代码》A1a、《代码》B1b<代码>A2a<代码>E2e。 我想使用zip或cross之类的东西可以更容易地完成这项工作,但我不知道如何。。。

  • 问题内容: 伙计们 我正在尝试找到问题的最优雅解决方案,并且想知道python是否为我想做的事情内置了任何东西。 我正在做的是这个。我有一个列表,并且我有一个接受项目并返回列表的函数。我可以使用列表推导来转换所有内容,例如: 但这返回一个列表列表; 我真正想要的是获取扁平化的列表; 现在,其他语言也有它。传统上用函数式编程语言来称呼它,而.Net称它为。python有类似的东西吗?有没有一种巧妙的

  • 这主要是为了让你知道Raku有多棒。 我至少能想到几个。 更繁琐的脚踏实地的方法是将映射到惰性范围上。在repl中: 一个更酷的解决方案(我认为)是让你先把你的列表变成一张单子,然后对这个单子无限期地应用重复操作符: 这是对@Brad Gilbert的答案略作阐述。运算符在超运算符中包装字符串连接,这导致将包装后的二进制运算符应用于从两个列表中顺序选择的元素。 因此,为了实现我想要的(列表循环到一

  • 问题内容: 我正在尝试使用python中的列表理解来扁平化列表。我的清单有点像 只是为了打印,然后在此列表中的单个项目我写了这段代码 然后我使用相同的逻辑通过列表理解来整理列表,但出现以下错误 如何使用列表理解来展平这种类型的列表? 问题答案: 单线: 可读版本: 使用嵌套列表理解:(与相比要慢一些):

  • Fedora 33 我正在尝试使用Raku从cupsGetDests2输出打印机列表。 这是C方式,尽管它也显示已删除的打印机: 我添加了“ Raku邮件列表上的一个朋友给我看了这段代码: 但它在输出时出错: libcups真的在那里! 我做错了什么? 新信息: 我做了以下操作: 现在运行该程序可提供: 这是我的打印机列表: 现在我做错了什么? 在Curt的帮助下解决了。我的新代码: 输出:

  • 问题内容: 我有这个嵌套列表: 现在,我要做的是将列表中的每个元素转换为float。我的解决方案是这样的: 但这可以使用嵌套列表理解来完成吗? 我所做的是: 但是结果是一堆100的总数为2400。 任何解决方案,解释将不胜感激。谢谢! 问题答案: 这是使用嵌套列表理解的方法: 这将为你提供一个列表列表,与你开始时的列表类似,只是使用浮点数而不是字符串。如果你想要一个固定列表,则可以使用。