小编Pro*_*ack的帖子

在没有数组的情况下迭代[0..n]

我知道几个例程如下:

X n + 1 =例程(X n,max)

例如,类似于LCG发生器:

X n + 1 =(a*X n + c)mod m

此生成器中没有足够的参数化来生成每个序列.

梦想功能:

X n + 1 =例程(X n,max,置换数)

该例程通过索引到所有排列集合中进行参数化,将返回序列中的下一个数字.序列可以是任意大的(因此存储阵列并使用事实数字是不切实际的.

如果失败了,是否有人指向类似的函数,这些函数要么是无状态的,要么具有任意"max"的恒定状态,这样它们就会迭代一个混洗列表.

language-agnostic random algorithm math

8
推荐指数
1
解决办法
664
查看次数

"单词的正则表达式"(语义替换) - 任何示例语法和库?

我正在寻找合成示例或常用技术,使用过程语言对单词而不是字符进行正则表达式样式转换.

例如,要跟踪复制,可能需要创建具有相似含义但具有不同单词选择的文档.

我希望能够简明地定义可以应用于文本流的这些可能的转换.

例如."快速名词 "改为"快速名词 ",但" 走得快 ".不会得到转化(无名词之后.
或者:"爱丽丝会唱歌曲 ",以" 歌曲将被传唱爱丽丝"

我希望这可以在语法检查器中完成,例如检测被动语态.

这种语言处理的AC#实现非常简洁,但我认为任何努力的大部分都是提出正确的规则 - 保持规则清晰易懂似乎是一个开始的地方.

c# language-agnostic syntax parsing semantics

7
推荐指数
1
解决办法
911
查看次数

以随机顺序访问三角形中的点

对于由整数上的等式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对,使得满足等式.

language-agnostic algorithm math

5
推荐指数
1
解决办法
684
查看次数

乘法链导致常数模2的幂

是否有一个实用的算法,给出"乘法链"

为了澄清,目标是产生任意和精确长度的
乘法变化长度为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)

language-agnostic puzzle algorithm math

2
推荐指数
1
解决办法
904
查看次数

标签 统计

language-agnostic ×4

algorithm ×3

math ×3

c# ×1

parsing ×1

puzzle ×1

random ×1

semantics ×1

syntax ×1