zoukankan      html  css  js  c++  java
  • hdu_1041_Computer Transformation_201311051648

    Computer Transformation

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 5065    Accepted Submission(s): 1850

    Problem Description
    A sequence consisting of one digit, the number 1 is initially written into a computer. At each successive time step, the computer simultaneously tranforms each digit 0 into the sequence 1 0 and each digit 1 into the sequence 0 1. So, after the first time step, the sequence 0 1 is obtained; after the second, the sequence 1 0 0 1, after the third, the sequence 0 1 1 0 1 0 0 1 and so on.
    How many pairs of consequitive zeroes will appear in the sequence after n steps?
     
    Input
    Every input line contains one natural number n (0 < n ≤1000).
     
    Output
    For each input n print the number of consecutive zeroes pairs that will appear in the sequence after n steps.
     
    Sample Input
    2
    3
     
    Sample Output
    1
    1
     
    Source
     
     
     1 #include <stdio.h>
     2 #include <string.h>
     3 
     4 int an1[500],an2[500];
     5 char s[1010][500];
     6 
     7 int main()
     8 {
     9     int i,j,k,len,t,n,aa;
    10     memset(an1,0,sizeof(an1));
    11     memset(an2,0,sizeof(an2));
    12     memset(s,0,sizeof(s));
    13     strcpy(s[1],"0");
    14     strcpy(s[2],"1");
    15     an1[0]=1;
    16     len=0;t=0;
    17     for(i=3;i<=1000;i++)
    18     {
    19         t=0;
    20         for(j=0;j<=len;j++)
    21         {
    22             an2[j]=an1[j]*2+t;
    23             if(an2[j]>9)
    24             {
    25                 an2[j]-=10;
    26                 t=1;
    27             }
    28             else
    29             t=0;
    30             if(j==len&&t==1)
    31             len+=1;
    32             an1[j]=an2[j];
    33         }
    34         if(i&1)
    35         {an1[0]=an2[0]-=1;}
    36         else
    37         {an1[0]=an2[0]+=1;}
    38         for(k=0,aa=j-1;aa>=0;aa--)
    39         {
    40             an1[aa]=an2[aa];
    41             s[i][k++]=an2[aa]+'0';
    42         }            
    43     }
    44     while(scanf("%d",&n)!=EOF)
    45     {
    46         printf("%s
    ",s[n]);
    47     }
    48     return 0;
    49 }
    50 //大数,找规律


    找规律,大数问题

     
  • 相关阅读:
    Dropplets – 极简的 Markdown 博客平台
    T3
    Awesomplete
    SVG Drawing Animation
    Dom Animator – 提供 Dom 注释动画的 JS 库
    Electron
    很赞的效果!互动的页面元素拖放着色实验
    BookBlock
    雷军投资的理财网站,年化收益13%!
    Rainyday.js – 使用 JavaScript 实现雨滴效果
  • 原文地址:https://www.cnblogs.com/xl1027515989/p/3408978.html
Copyright © 2011-2022 走看看