需要三个class
1.Reverse.cpp
包含两个函数一个反转正整数,一个反转字符,需要使用递归的方法
int reverseDigit(int value)
string reverseString(string letters)
2.Fibonacci.cpp
用递归法计算斐波那契的数列
3.EfficientFibonacci.cpp
用优化的方法计算斐波那契数列
输入四个值
第一个i是非零正整数。如果输入是负数或者是字符就输出ERROR
第二个s是字符串,如何输入时数字就输出ERROR
第三个n1是非零正整数,使用Fibonacci.cpp计算的,如果输入不是非零正整数就输出ERROR
第四个n2是非零正整数,使用EfficientFibonacci.cpp计算的,如果输入不是非零正整数就输出ERROR
Sample input 1: 12345 apple 6 6
Sample output 1: 54321 elppa 8 8
Sample input 2: -1 appa 20 3
Sample output 2: ERROR appa 6765 2
Sample input 3: 11900 Beer sa 11
Sample output 3: 911 reeB ERROR 89
写了的三个函数
Fibonacci::Fibonacci(int n)
{
if(n==1||n==2)
{
return 1;
}else
{
return Fibonacci(n-1)+Fibonacci(n-2);
}
};
int EfficientFibonacci::calculate(int n)
{
if (n <= 2 && top == 0)
{
top = 2;
arr[0] = 1;
arr[1] = 1;
return arr[n - 1];
}
if (top == n - 1)
{
top = n;
arr[n - 1] = arr[n - 2] + arr[n - 3];
return arr[n - 1];
}
else if (top > n - 1)
{
return arr[n - 1];
}
return Fibonacci(n - 2) + Fibonacci(n - 3);
};
int Reverse::reverseDigital(int value)
{
if(value<10&&value>0)
{
printf("%d",n);
return;
}else if(value>=10)
{
printf("%d",n%10);
inverted(n/10);
}else
{
printf("%s\n","ERROR");
}
return;
};