用C++语言编写程序 一个数列,它的第一项是0,第二项是1,以后每项都是前两项之和,求前20项之和 s
展开全部
a0=0;
a1=1;
a[i]= a[i-1] + a[i-2](i>1)
s+=a[i]
用if语句。每条列出来 ,i =0 ,i=1的时候的a[i]的值,在用if写i>1的a[i]的值,再相加就可以了啊
a1=1;
a[i]= a[i-1] + a[i-2](i>1)
s+=a[i]
用if语句。每条列出来 ,i =0 ,i=1的时候的a[i]的值,在用if写i>1的a[i]的值,再相加就可以了啊
追问
题目: 一个数列,它的第一项是0,第二项是1,以后每 项都是前两项之和,求前20项之和 s
#include
#include
#include
void writeinfile(int n);
void main()
{
int k,a1=0,a2=1,s=a1+a2;
/**********Program**********/
这里填什么?
/********** End **********/
writeinfile(s);
}
void writeinfile(int n)
{
谢谢这位大侠帮忙!
追答
int b[];
b[0] = a1;
b[1] = a2;
for(int k = 2; k < 20 ; k++)
{
s = a1 + a2;
b[k] = b[k-1] + b[k-2];
a1 = b[k];
a2 = b[k-1];
}
不好意思不是经常用这个所以回答晚了,希望对您有帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 #include <stdio.h>
2
3 int fun(int n)
4 {
5 if (n==0)
6 return 0;
7 else if(n==1)
8 return 1;
9 else
10 return fun(n-1)+fun(n-2);
11 }
12
13 int main()
14 {
15 int i = 0; sum = 0;
16 for (i=0; i<20; i++)
17 {
18 sum += fun(i);
19 }
20 printf("前20项之和为:%d\n", sum);
21 return 0;
22 }
2
3 int fun(int n)
4 {
5 if (n==0)
6 return 0;
7 else if(n==1)
8 return 1;
9 else
10 return fun(n-1)+fun(n-2);
11 }
12
13 int main()
14 {
15 int i = 0; sum = 0;
16 for (i=0; i<20; i++)
17 {
18 sum += fun(i);
19 }
20 printf("前20项之和为:%d\n", sum);
21 return 0;
22 }
追问
谢啦!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询