我知道几个例程如下:
X n + 1 =例程(X n,max)
例如,类似于LCG发生器:
X n + 1 =(a*X n + c)mod m
此生成器中没有足够的参数化来生成每个序列.
梦想功能:
X n + 1 =例程(X n,max,置换数)
该例程通过索引到所有排列集合中进行参数化,将返回序列中的下一个数字.序列可以是任意大的(因此存储阵列并使用事实数字是不切实际的.
如果失败了,是否有人指向类似的函数,这些函数要么是无状态的,要么具有任意"max"的恒定状态,这样它们就会迭代一个混洗列表.
我正在寻找合成示例或常用技术,使用过程语言对单词而不是字符进行正则表达式样式转换.
例如,要跟踪复制,可能需要创建具有相似含义但具有不同单词选择的文档.
我希望能够简明地定义可以应用于文本流的这些可能的转换.
例如."快速名词 "改为"快速名词 ",但" 走得快 ".不会得到转化(无名词之后.
或者:"爱丽丝会唱歌曲 ",以" 歌曲将被传唱爱丽丝"
我希望这可以在语法检查器中完成,例如检测被动语态.
这种语言处理的AC#实现非常简洁,但我认为任何努力的大部分都是提出正确的规则 - 保持规则清晰易懂似乎是一个开始的地方.
对于由整数上的等式aX + bY <= c指定的直角三角形
我想以伪随机顺序一次一次地绘制三角形中的每个像素(*),而不存储先前命中点的列表.
我知道如何使用0到x之间的线段来完成此操作
沿着线选择一个随机点'o',
选择相对于x
重复的'p' 最多x次:O next =(O cur + P)MOD x
要对三角形执行此操作,我会
1.需要计算三角形sans列表中的像素数量
2.将整数0..points映射到ax,y对,它是三角形内的有效像素
我希望任何解决方案都可以推广到金字塔和更高维度的形状.
(*)我将CG项像素用于整数点X,Y对,使得满足等式.
是否有一个实用的算法,给出"乘法链"
为了澄清,目标是产生任意和精确长度的
乘法变化长度为1的乘法链是微不足道的.
"乘法链"将被定义为代码中使用的2个数字{start}和{multiplier}:
Given a pointer to array of size [{count}] // count is a parameter
a = start;
do
{
a = a * multiplier; // Really: a = (a * multiplier) MOD (power of 2
*(pointer++) = a;
}
while (a != {constant} )
// Postcondition: all {count} entries are filled.
Run Code Online (Sandbox Code Playgroud)
我想找到一个带有三个参数的例程
1. 2的幂
2.停止{constant}
3. {count} - 循环迭代的次数
例程将返回{start}和{multiplier}.
理想情况下,{Constant}值为0应该有效.
琐碎的例子:
power of 2 = 256
stopping constant = 7
number of times for …
Run Code Online (Sandbox Code Playgroud)