#include<iostream>
using namespace std;
int main()
{
int a = 1, b = 1, c = 2;
for (int i = 0; i < 20; i++)
{
cout << a << " ";
a = b;
b = c;
c = a + b;
}
return 0;
}
思考:
1、代码最后其实多输出了一个空格,能够改正这个小漏洞?
2、如果只要输出第 20 项的值,那么要怎么修改代码?
3、如果只要输出前 20 项的总和,那么要怎么修改代码?
4、如果要求第 19 项除以第 20 项的结果,要怎么修改代码?
针对问题一:
#include<iostream>
using namespace std;
int main()
{
int a = 1, b = 1, c = 2;
for (int i = 0; i < 20; i++)
{
cout << a ;
a = b;
b = c;
c = a + b;
cout << " ";
}
return 0;
}
针对问题二:
#include<iostream>
using namespace std;
int main()
{
int a = 1, b = 1, c = 2;
for (int i = 0; i < 17; i++)
{
a = b;
b = c;
c = a + b;
}
cout << c;
return 0;
}
针对问题三:
#include<iostream>
using namespace std;
int main()
{
int a = 1, b = 1, c = 2;
int sum = a + b + c;
for (int i = 0; i <17; i++)
{
a = b;
b = c;
c = a + b;
sum = sum + c;
}
cout << sum;
return 0;
}