我在C语言中一直遇到这个问题。 问题是: 编写程序以生成系列中的前n个项--- 2,5,9,..,20,27
我陷入了for循环部分。喜欢,换其他说法 例如:系列--- 5,9,17,29,45,... 我可以通过以下公式计算剩余序列:
for(i=0; i<n; i++)
{
a=a+(4*i); //a is initialized to 5
printf("%d", a);
}
谢谢。
答案 0 :(得分:2)
这是您期望的吗?
#include <stdio.h>
int main(void)
{
int a = 2, n = 10;
for(int i = 0; i < n; i++)
{
printf("%d, ", a);
a = a + i + 3;
}
printf("etc\n");
return 0;
}
输出
$ gcc main.c -o main.exe; ./main.exe; 2, 5, 9, 14, 20, 27, 35, 44, 54, 65, etc
答案 1 :(得分:2)
看起来(i + 1)-st元素是通过添加一个递增的数字从第i个创建的:
您可以通过在循环中递增d
并将其添加到a
的先前值来计算此结果。
根据Online Encyclopedia of Integer Sequences,可以使用以下封闭形式的表达式来计算此序列的元素:
n*(n+3)/2
注意:上述除法始终会产生一个整数值,因为n
或n+3
之一将是偶数。
答案 2 :(得分:1)
如果我对您的理解正确,那么您正在寻找
$list_id = $this->_job->getListId();
$list = $this->_MailChimp_obj->get('lists/' . $list_id . '/members', array(
'fields' => array(
'id',
'email_address',
'subscribed',
'merge_fields'
),
'count' => 50,
'offset' => 0
));
它是n + 3,因为您将从3开始并从那里开始计数n次。