标签:style io for 数据 div 问题 sp 代码 on
递推问题实现起来很简单,但得到递推公式确实很麻烦,就像DP一样。
#include<stdio.h>
int m[1001][246];
int main()
{
int i,j;
int temp;
int n,flag;
//f[n]=f[n-1]+f[n-2]+f[n-4] 用打表法
m[1][0]=1;
m[2][0]=2;
m[3][0]=4;
m[4][0]=7;
for(i=5;i<=1001;i++)
{
temp=0;
for(j=0;j<246;j++)
{
m[i][j]=m[i-1][j]+m[i-2][j]+m[i-4][j]+temp; //用了数组进行大数运算,由低到高倒着排
temp=0;
if(m[i][j]>9)
{
temp=m[i][j]/10;
m[i][j]=m[i][j]%10;
}
}
}
while(scanf("%d",&n)!=EOF)
{
flag=0;
for(i=245;i>=0;i--) //倒着输出
{
if(!flag&&m[n][i])
flag=1;
if(flag)
printf("%d",m[n][i]);
}
printf("\n");
}
}
标签:style io for 数据 div 问题 sp 代码 on
原文地址:http://www.cnblogs.com/xurenwen/p/3961895.html