0
点赞
收藏
分享

微信扫一扫

第四周项目5 递归法求最大公约数和Fibnacci数


/*   
*Copyright(c) 2016,烟台大学计算机学院
*All rights reserved.
*文件名称:test2.cpp
*作 者:刘金石
*完成日期:2016年3月24日
*版本 号:v1.0
*问题描述:用递归法求最大公约数
*输入描述:两个整数
*输出描述:输出最大公约数。
*/
#include <iostream>
using namespace std;
int gcd(int a, int b);//声明最大公约数函数
int main()
{
int num1 = 1;
int num2 = 1;
cin >> num1 >> num2;
while(num1 == 0 || num2 == 0)//判断是否有0值输入,若有则重新输入
{
cout<<"input error!" << endl;
cin >> num1 >> num2;
}
cout << "The gcd of " << num1 << " and " << num2 << " is: " << gcd(num1, num2) << endl;//调用最大公约数函数
return 0;
}
int gcd(int a,int b)
{
int x;
if(a<b)
{
x=a;
a=b;
b=x;
}
x=a%b;
if(x==0)
return b;
else return gcd(b,x);
}

运行结果:

第四周项目5 递归法求最大公约数和Fibnacci数_最大公约数

/*
*问题描述:输出第20个Fibnacci数
*输入描述:无
*输出描述:输出第20个Fibnacci数。
*/
#include<iostream>
using namespace std;
int fib(int n);
int main()
{
cout<<fib(20)<<endl;
return 0;
}
int fib(int n)
{
int f;
if(n==0||n==1)
f=1;
else f=fib(n-1)+fib(n-2);
return f;
}


运行结果:

第四周项目5 递归法求最大公约数和Fibnacci数_最大公约数_02

举报

相关推荐

0 条评论