#include<stdio.h> #include<stdlib.h> #include<string.h> long long int dp[20]; long long int f(int n) { if(n<=3) return n-1; if(dp[n]) return dp[n]; return (n-1)*(f(n-1)+f(n-2)); } int main() { int inp; memset(dp,0,sizeof(dp)); while(scanf("%d",&inp)==1) { if(inp==0) break; printf("%I64d\n",f(inp)); } return 0; }
沒有留言:
張貼留言