递归的小题目

来源:互联网 发布:等基础设施网络建设 编辑:程序博客网 时间:2024/05/22 12:07

某人有N个瓶子,3个瓶子可以换一个,若是两个瓶子则可以向店家借一个再还给他,请问这人可以得到多少个新瓶子?


#include <stdio.h>
#include <stdlib.h>
int function(int n);
int main()
{
    int n,result;
    scanf("%d",&n);
    result = function(n);
    printf("%d",result);
    return 0;
}
int function(int n)
{
    if(n < 2)
    {
        return 0;
    }
    if(n > 3)
    {
        n = n - 2;
        return 1 + function(n);
    }
    if(n == 2)
    {
        n = 0;
        return 1;
    }
    return 0;
}