动态规划求解阶乘问题

#include<stdio.h>
int a[20];
int t;
int f(int n){
	if(a[n]!=0) return a[n];
	if(n==1) return 1;
	t = n*f(n-1);
	return t;
}
int main() { 
	int n;
	while(scanf("%d",&n)!=EOF) {
		int s = 0;
		int i;
		for(i=1;i<=n;i++) {
			s += f(i);
		}
		printf("%d\n",s);
	}
}

  

posted @ 2013-03-12 18:44  msober  阅读(606)  评论(0编辑  收藏  举报