您的位置:首页 > 编程语言 > C语言/C++

C/C++求非波拉契排列第N项

2015-10-03 22:38 260 查看
/*

非波拉契序列:前两项是1 2 之后,每一项是前两项之和
1 2 3 5 8 13 21 34 55 ......

*/
#include <STDIO.H>

int main(void)
{
int i,n, sum, sum1, sum2;
printf("请输入您要求的非波拉契序列的项数:\n");
scanf("%d", &n);

if (n == 1)
{
printf("您所求的非波拉契序列是:\n1 \n");
}
else if (n == 2)
{
printf("您所求的非波拉契序列是:\n2 \n");
}
else
{
for (sum1=1, sum2=2, i=1; i<=n; ++i ) //注:类似的交替求和的只需要一个数中间数来倒腾
{
sum = sum1 + sum2;
sum1 = sum2;
sum2 = sum;

}
printf("您所求的非波拉契序列是:%d\n", sum);

}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: