WooKinson

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
问题描述
  s01串初始为"0"
  按以下方式变换
  0变1,1变01
输入格式
  1个整数(0~19)
输出格式
  n次变换后s01串
样例输入
3
样例输出
101
数据规模和约定
  0~19

 

记:

题目给出的信息带有误导性,让人看不出规律(1应该是"1"才对)

具体的要求是通过看测试数据的结果得到的(lll¬ω¬)

即:n的字符串 = (n-1的字符串) + (n-2的字符串)

 

AC代码:

 1 #include <stdio.h>
 2 #define MAX 10010
 3 
 4 /*默认0为"0",1为"1"*/
 5 char ans[20][MAX] = {{"0"},{"1"},};
 6 void dg(int x)
 7 {
 8     if (x < 2)
 9     {
10         return ;    
11     }         
12     dg(x-1);
13     /*当前s01串为前两个串的结合*/
14     sprintf(ans[x],"%s%s",ans[x-2],ans[x-1]);
15     return ;
16 }
17 
18 int main(void)
19 {
20     int n;
21     scanf("%d",&n);
22     dg(n);
23     printf("%s",ans[n]);
24     return 0;
25 }

 

posted on 2018-04-18 20:24  WooKinson  阅读(200)  评论(0编辑  收藏  举报