请用c语言计算: S=1*2-2*3+3*5-5*8+8*13-13*21+……(前20项的和)?

 我来答
匿名用户
2020-04-18
展开全部

#include <stdio.h>


int main() {

  int a = 1, b = 2, sum = 0;

  for (int i = 1; i <= 20 / 2; i++) {

    sum += a * b - b * (a + b);

    a = a + b;

    b = a + b;

  }

  printf("%d\n", sum);

  return 0;

}

匿名用户
2020-04-18
展开全部

据观察,与 斐波那契数列 有关

 int i=1,t=0,a,b,s=1;
long r;
while(i<=20)
{ if (i<3)
f[i]=1;
else
f[i]=f[i-2]+f[i-1];
if (i==1)
a=1;
else
a=b;
b = a + f[i];
t = s*a*b;
r += t;
printf("%3d %8d %8d %8d %10d\n",i,s,a,b,r);
s = -s;
i++;
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小黑哎啊
科技发烧友

2020-04-18 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:1642
采纳率:74%
帮助的人:353万
展开全部

#include<stdio.h>

#include<math.h>

int main()

{

long a=1,b=1,t=1,sum=0;

for(int i=1;i<=20;i++)

{

if(i%2==0)

a=-a;

b=b+abs(t);

sum+=a*b;

printf("a= %-10d b= %-10d sum= %-10d\n",a,b,sum);//a,b,sum的变化情况 

t=a;

a=b;

}

printf("前20项的和是:%ld",sum);

return 0;

}

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式