我想通过循环生成一系列数字。
我的系列将包含 0,3,5,8,10,13,15,18 等数字。
我尝试提醒并尝试添加 2 和 3,但它不会成功。
谁能帮我制作这个系列。
我想通过循环生成一系列数字。
我的系列将包含 0,3,5,8,10,13,15,18 等数字。
我尝试提醒并尝试添加 2 和 3,但它不会成功。
谁能帮我制作这个系列。
您可以只使用在 3 和 2 之间切换的增量,例如
for (i = 0, inc = 3; i < 1000; i += inc, inc = 5 - inc)
{
printf("%d\n", i);
}
看起来序列从零开始,并使用 3 和 2 的增量。有几种实现方法,但也许最简单的方法是以 5 的增量迭代(即 3+2)并打印两个数字 - 位置和位置加三。
这是一些伪代码:
i = 0
REPEAT N times :
PRINT i
PRINT i + 3
i += 5
i=0
将打印0
和3
i=5
将打印5
和8
i=10
将打印10
和13
i=15
将打印15
和18
我被标签generate-series吸引了,这是一个强大的 PostgreSQL 功能。这可能被错误地标记了(?),但碰巧会有一个优雅的解决方案:
SELECT ceil(generate_series(0, 1000, 25) / 10.0)::int;
generate_series()
返回0, 25, 50, 75 , ...
(只能产生整数)10.0
产生numeric
数据:0, 2.5, 5, 7.5, ...
ceil()
四舍五入到您想要的结果。::int
) 是可选的。