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了。。

不懂不懂。。。

posted @ 2018-10-14 21:37  观稳769  阅读(213)  评论(0编辑  收藏  举报