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

线性筛选算法

贺立果
2023-03-14

有没有一个简单的pari/gp程序可以筛选k*n c(其中n和c是固定的)形式的数,直到某个素数p,并且k被限制在某个范围内(即k=1,10000,)

伪代码:

n = (some number);
c = (some number);
T=[all k values];
forprime(p=2,100000000, for(i=1,#List if((T[i]*n+c)%p==0, (remove the number T[i] from the list)

换句话说,从整数列表 T 开始 检验素数范围 p 中的第一个素数,并从列表 T 中删除整数 k,使得 k*n c 可以被 p 整除。然后测试下一个素数,依此类推。执行此操作,直到达到筛子返回的极限,或打印候选列表。感谢您的帮助!

共有1个答案

南门野
2023-03-14

你提供的伪代码看似合理。比起从列表中删除,复制它可能更容易和有效。使用函数< code>select来保留那些应该保留而不是删除的元素。

一些实际代码:

sieve(n,c,plimit,L)={forprime(p=2, plimit, L=select(t->(t*n+c)%p, L); if(!#L, break)); L}
sieve(8, 3, 70000, [1..10000])

我还在循环中添加了一个检查,如果列表为空,则退出循环。在我尝试过的情况下,似乎会发生这种情况。

 类似资料:
  • 主要内容:线性回归是什么,线性回归方程,实现预测的流程本节我们会认识第一个机器学习算法 —— 线性回归算法(Linear Regression),它是机器学习算法中较为简单,且容易理解的算法模型,你可以把它看做您的第一个“Hello World”程序。 我们先从语义上了解“线性回归”,如果您是第一次接触“线性回归”这个词,那么可以把它分开来看,其中“性代”表线性模型,而“回归”则表示回归问题,也就是用线性模型来解决回归问题。看完上述解释,您脑子中可能

  • 问题内容: 我有这样的实体: 还有一个: 使用Criteria API,我想通过过滤的Picturs获得唯一的AlbumD。我尝试这样的事情: 在这里,我得到了带有所有关联图片的相册。它们根本没有被过滤。当我尝试执行由记录器打印的查询时,只有给定eventId的图片数量只有四行,但是在“相册”中,我获取了所有图片。 我也尝试了其他ResultTransformers,但最终得到了很多结果(4),但

  • 本文向大家介绍jQuery选择器之属性筛选选择器用法详解,包括了jQuery选择器之属性筛选选择器用法详解的使用技巧和注意事项,需要的朋友参考一下 在这么多属性选择器中[attr="value"]和[attr*="value"]是最实用的 [attr="value"]能帮我们定位不同类型的元素,特别是表单form元素的操作,比如说input[type="text"],input[type="che

  • 本文向大家介绍sqlalchemy 筛选,包括了sqlalchemy 筛选的使用技巧和注意事项,需要的朋友参考一下 示例 给定以下模型 您可以过滤查询中的列: 对于第一种情况,有一个快捷方式: 可以使用AND关系通过链接filter方法来构成过滤器: 或更灵活地使用重载按位运算符&和|: 不要忘记内括号来处理运算符优先级。

  • 使用指南 引入方式 import { filter } from 'feart'; components: { 'fe-filter': filter, } 代码演示 基础用法 <fe-filter :list="list" :condition="condition" :isFoot="true" confirmText="确认" resetText="重

  • 我还有这个包含ID列表: 我想筛选以便筛选的不包含id来自的对象,因此我尝试使用stream: 我找不到做这件事的正确函数。有人有什么建议让我试试吗?