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 ",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 ",b);
}
return 0;
}

不调用函数才ac了。。

不懂不懂。。。

原文地址:https://www.cnblogs.com/guanwen769aaaa/p/9788155.html