HDU 2065
简单的指数型生成函数题,就是按照泰勒级数化简而已。
#include <iostream> #include <cstdio> #define MOD 100 #define LL __int64 using namespace std; int quick(int a,LL b){ int ans=1; while(b){ if(b&1) ans=(ans*a)%MOD; b>>=1; a=(a*a)%MOD; } return ans; } int main(){ int T,ans; LL n; while(scanf("%d",&T),T){ for(int i=1;i<=T;i++){ scanf("%I64dd",&n); printf("Case %d: ",i); if(!n) printf("1\n"); else{ ans=0; ans+=quick(4,n-1); ans+=quick(2,n-1); printf("%d\n",ans%MOD); } } printf("\n"); } return 0; }