讨论 / 不得不承认智商又下降了
577866/1111 2014-09-15 07:41:45
点我顶贴 收藏 删除
这么简单一个递推竟然想了这么长时间才想出来……

#include <stdio.h>

int base;

int n;

long numbers[1000];

void read();

void calculate();

long mypow(int base,int index);

void write();

int main()

{

read();

calculate();

write();

return (0);

}

void read()

{

extern int base,n;

scanf("%d%d",&base,&n);

}

void calculate()

{

extern int base,n;

extern long numbers[1000];

int i,j,iosn=0,nowindex=1;

numbers[0]=1;

for(i=1;i<n;i++)

{

if(i-iosn==iosn+1)

{

numbers[i]=mypow(base,nowindex);

nowindex++;

iosn=i;

}

else

numbers[i]=numbers[iosn]+numbers[i-iosn-1];

}

}

long mypow(int base,int index)

{

int i,answer=1;

if(base!=0&&index==0)

return (1);

else

{

for(i=0;i<index;i++)

answer=answer*base;

return (answer);

}

}

void write()

{

extern int n;

extern long numbers[1000];

printf("%ld",numbers[n-1]);

}

查看更多回复
提交回复