生成数字0,3,5,8,10,13,15,18的系列

时间:2014-07-13 17:56:39

标签: ios objective-c numbers generate-series

我想通过循环生成一系列数字。

我的系列将包含0,3,5,8,10,13,15,18等数字。

我尝试提醒并尝试添加2和3,但它无法解决。

任何人都可以帮我制作这个系列。

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将打印03
  • 迭代i=5将打印58
  • 迭代i=10将打印1013
  • 迭代i=15将打印1518
  • ......等等

答案 2 :(得分:0)

我使用了标签,这是一个强大的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)是可选的。

SQL Fiddle.