C/C++编程学习 - 第17周 ⑦ 基因相关性

题目链接

题目描述

为了获知基因序列在功能和结构上的相似性,经常需要将几条不同序列的 DNA 进行比对,以判断该比对的 DNA 是否具有相关性。

现比对两条长度相同的 DNA 序列。首先定义两条 DNA 序列相同位置的碱基为一个碱基对,如果一个碱基对中的两个碱基相同的话,则称为相同碱基对。接着计算相同碱基对占总碱基对数量的比例,如果该比例大于等于给定阈值时则判定该两条 DNA 序列是相关的,否则不相关。

输入格式
有三行。第一行为一个 [0,1] 范围内实数,表示用来判定出两条 DNA 序列是否相关的阈值,随后 2 行是两条 DNA 序列(长度不大于 500)。

输出格式
若两条 DNA 序列相关,则输出"yes",否则输出"no"。

Sample Input

0.85
ATCGCCGTAAGTAACGGTTTTAAATAGGCC
ATCGCCGGAAGTAACGGTCTTAAATAGGCC

Sample Output

yes

思路

就是输入两个字符串,看相似度,如果相似度高于给出的浮点数的话,输出"yes",否则输出"no"。

C++代码:

#include<bits/stdc++.h>
using namespace std;
int main()
{
	double n;
	string s1, s2;
	while(cin >> n)
	{
		cin >> s1 >> s2;
		int len = s1.length(), cnt = 0;
		for(int i = 0; i < len; i++)
			if(s1[i] == s2[i]) cnt++;
		if(cnt * 1.0 / len > n) cout << "yes" << endl;
		else cout << "no" << endl;
	}
	return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水蛙菌

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值