hdu 2067 “红色病毒”问题

http://acm.hdu.edu.cn/showproblem.php?pid=2065

据说这是一个母函数指数型,可是我看了半天觉得还是没有感觉,觉得还是递推比较好,直接看代码可能不懂,但是推理过程太麻烦。。。

就是从n-1个来确定第n个,这样一步一步找到规律

代码:

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <math.h>

int main()

{

    __int64 n;

    int t;

    int a[23]={0,2,6,20,72,72,56,60,12,92,56,0,52,12,56,40,92,32,56,80,32,52,56};

    int b[20]=      {20,72,72,56,60,12,92,56,0,52,12,56,40,92,32,56,80,32,52,56};

    /*可以用for(j=4;j<=30;j++)

    a[j]=((int)(pow(4,j-1)+pow(2,j-1)))%100;

    求出*/

    while(scanf("%d",&t),t)

    {

          for(int i=1;i<=t;++i)

          {

                    scanf("%I64d",&n);

                    if(n<=22)

                    printf("Case %d: %d\n",i,a[n]);

                    else

                    {

                        n=(n-3)%20;

                        printf("Case %d: %d\n",i,b[n]);

                    }

          }

          puts("");

    }

    return 0;

}

原文地址:https://www.cnblogs.com/yuelingzhi/p/2136601.html