zoukankan      html  css  js  c++  java
  • 【C语言程序】基因编码

    输入一个长为n=2k(k≤8)01串s,按照"ABC编码规则"进行编码,ABC编码规则是:

                                                                     A                      //若s串全是0

                                                      T(s)=       B                      //若s串全是1

                                                                     CT(s1)T(s2)     //否则把s串分成两个等长的子串s1和s2

    例如:

         T(01001011)

    =CT(0100)T(1011)

    =CCT(01)T(00)CT(10)T(11)

    =CCCT(0)T(1)ACCT(1)T(0)B

    =CCCABACCBAB

    #include <stdio.h>
    #include <string.h>
    void f(char a[],int begin,int end)
    {
    int num_A=0,num_B=0;
    int i;
    for(i=begin;i<end;i++)
    {
    if(a[i]=='0')
    num_A++;         //记录0的个数 
    else if(a[i]=='1')
    num_B++;         //记录1的个数 
    }
    if(num_A==end-begin)//如果该数组全为0 
    printf("A");
    else if(num_B==end-begin)//如果该数组全为1 
    printf("B");
    else
    {
    printf("C");
    f(a,begin,(end+begin)/2); 
    f(a,(end+begin)/2,end);
    }
    }
    int main()
    {
    char a[500];
    int length;
    gets(a);
    length=strlen(a);
    f(a,0,length);
    return 0;
    }

      

     

  • 相关阅读:
    istio 配置解读
    docker 不同版本 添加--insecure-registry
    Ingress 暴露tcp端口
    jenkins 调用 k8s api
    十五项指标衡量DevOps是否成功
    关于使用镜像仓库的思考
    Jenkins pipeline:pipeline 语法详解
    lvm xfs 扩容
    看到了一个pipeline例子,
    私有仓库harbor安装包括https
  • 原文地址:https://www.cnblogs.com/levelstrcpy/p/7842971.html
Copyright © 2011-2022 走看看