我想通过循环生成一系列数字。
我的系列将包含0,3,5,8,10,13,15,18等数字。
我尝试提醒并尝试添加2和3,但它无法解决。
任何人都可以帮我制作这个系列。
答案 0 :(得分:2)
您可以使用在3和2之间切换的增量,例如
for (i = 0, inc = 3; i < 1000; i += inc, inc = 5 - inc)
{
printf("%d\n", i);
}
答案 1 :(得分:1)
看起来序列从零开始,并使用3和2的增量。有几种方法可以实现这一点,但也许最简单的方法是以5的增量(即3 + 2)进行迭代并打印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
答案 2 :(得分:0)
我使用了标签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
)是可选的。