#include <stdio.h>
int F(int n)
{
if(n==1)
{
return 1;
}else if(n==2)
{
return 2;
}else {
return F(n-1)+F(n-2);
}
}
int F2(int n)
{
if(n<=2) return n;
int dp[n+1];
dp[1]=1;
dp[2]=2;
for(int i=3;i<=n;i++)
{
dp[i]=dp[i-1]+dp[i-2];
}
return dp[n];
}
int F3(int n)
{
if(n<=2) return n;
int prev1=1;
int prev2=2;
int current;
for(int i=3;i<=n;i++)
{
current=prev1+prev2;
prev1=prev2;
prev2=current;
}
return current;
}
int factorial(int n)
{
if(n==0){
return 1;
}else {
return n*factorial(n-1);
}
}
int factorial2(int n)
{
int nums =1;
for(int i=1;i<=n;i++)
{
nums*=i;
}
return nums;
}
int fib(int n)
{
if(n<0) return -1;
if(n==1 || n==2){
return 1;
}else
{
return fib(n-1)+fib(n-2);
}
}
int huiwen(char n[],int low,int high)
{
if(high ==0 || high ==1){
return 1;
}else{
if(n[low]==n[high]){
return huiwen(n,low+1,high-1);
}else{
return 0;
}
}
}
int ishuiwen(char n[],int number)
{
int mid=number/2;
for(int i=0;i<mid;++i)
{
if(n[i]!=n[number-i]) return 0;
}
return 1;
}
int main () {
printf("%d\n",factorial2(4));
char test[]="ababac";
printf("%d\n",huiwen(test,0,4));
printf("%d",ishuiwen(test,5));
}