1056.A ^ B Problem 快速幂算法。
---恢复内容开始---
#include <stdio.h>
int palouti(int x);
int main()
{
    int a;
    int b=0;
    while(scanf("%d",&a )!=EOF)
    {
        b = palouti(a);
    printf("%d\n",b);
    }
    return 0;
}
int palouti(int x)
{
    if(x==1)
    {
    return 1;
    }
    else if(x==2)
    {
    return 2;
    }
    else if(x==3)
    {
    return 4;
    }
    else if(x>3)
    {
        return palouti(x-1)+palouti(x-2)+palouti(x-3);
    }
}
TLE了QAQ
#include <stdio.h>
int main()
{
    int a,i;
    int b=0;
    int c[50];
    c[1]=1;
    c[2]=2;
    c[3]=4;
    while(scanf("%d",&a )!=EOF)
    {
        if(a<=3)
        {
            b = c[a];
        }
        else
        {
            for(i=4;i<=a;i++)
            {
                c[i]=c[i-1]+c[i-2]+c[i-3];
            }
            b = c[a];
        }
    printf("%d\n",b);
    }
    return 0;
}
不调用函数才ac了。。
不懂不懂。。。

                
            
        
浙公网安备 33010602011771号