首页 > 试题广场 >

DNA合成

[编程题]DNA合成
  • 热度指数:2956 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
DNA分子是以4种脱氧核苷酸为单位连接而成的长链,这4种脱氧核苷酸分别含有A,T,C,G四种碱基。碱基互补配对原则:A和T是配对的,C和G是配对的。如果两条碱基链长度是相同的并且每个位置的碱基是配对的,那么他们就可以配对合成为DNA的双螺旋结构。现在给出两条碱基链,允许在其中一条上做替换操作:把序列上的某个位置的碱基更换为另外一种碱基。问最少需要多少次让两条碱基链配对成功

输入描述:
输入包括一行: 包括两个字符串,分别表示两条链,两个字符串长度相同且长度均小于等于50。


输出描述:
输出一个整数,即最少需要多少次让两条碱基链配对成功
示例1

输入

ACGT TGCA

输出

0

a, b = input().strip().split(' ')
count = 0
for i in range(len(a)):
s = a[i] + b[i]
if s not in ['AT', 'TA', 'CG', 'GC']:
count += 1
print(count)

发表于 2018-04-23 12:54:23 回复(0)
# 逐项配对比较,若配对不成功操作次数就加一
DNAs = input('输入两个长度相同的DNA链用空格分隔')
base, change = DNAs.split(' ')
total_length = len(base)
base = list(base)
change = list(change)
count = 0 for i in range(total_length):    if base[i]+change[i] not in ['AT', 'CG', 'TA', 'GC']:
        count += 1    
     else: continue print('RESULT',count)

编辑于 2018-02-26 02:57:09 回复(0)

热门推荐

通过挑战的用户