首页 > 编程语言 > 详细

算法训练 递归 s01串

时间:2020-04-09 17:08:15      阅读:85      评论:0      收藏:0      [点我收藏+]
问题描述
  s01串初始为"0"
  按以下方式变换
  0变1,1变01
输入格式
  1个整数(0~19)
输出格式
  n次变换后s01串
样例输入
3
样例输出
101
数据规模和约定
  0~19
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 
 5 int n;
 6 int c = 0;
 7 
 8 
 9 void fun(char *a)
10 {
11     int i;
12     char b[10000];
13     memset(b, 0, sizeof(b));
14     int k = 0;
15 
16     for (i = 0; i < strlen(a); i++)  //0->1  1->01
17     {
18         if (a[i] == 0)
19             b[k++] = 1;
20         if (a[i] == 1)
21         {
22             b[k++] = 0;
23             b[k++] = 1;
24         }
25     }
26 
27     c++;
28     if (c == n)
29     {
30         for (i = 0; i < k; i++)
31         {
32             printf("%c", b[i]);
33         }
34         return;
35     }
36     else
37     {
38         fun(b);
39     }
40 }
41 
42 int main()
43 {    
44     char a[10000] = { 0 };
45     scanf("%d", &n);
46     if (n == 0)
47     {
48         printf("0");
49     }
50     else
51     {
52         fun(a);
53     }
54     
55     return 0;
56 }

 

算法训练 递归 s01串

原文:https://www.cnblogs.com/ZhengLijie/p/12668052.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!