基因序列清除:去除异形基因算法详解 (C++ 代码)
【入门】排除异形基因 - 算法解析与 C++ 代码实现
比赛题目
时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 16MB,其他语言 32MB
描述
神舟号飞船在完成宇宙探险任务回到地球后,宇航员张三感觉身体不太舒服,去了医院检查,医生诊断结果:张三体内基因已被改变,原有人体基因序列中已经被渗入外星球不明异形生物基因,但可喜的是,这些异形基因都有一个共同的特征,就是该基因序号的平方除以7的余数都是1,要赶快清除掉,否则会危害整个人类。赶快行动吧。
输入描述
第一行是一个整数 n(基因个数, 3<=n<=200) 第二行是 n 个整数(张三的基因序列)
输出描述
去除异形基因后的正常序列,空格隔开
用例输入 1
4 6 2 8 12
用例输出 1
2 12
C++ 代码实现
#include <iostream>
#include <vector>
int main() {
int n;
std::cin >> n;
std::vector<int> genes(n);
for (int i = 0; i < n; i++) {
std::cin >> genes[i];
}
std::vector<int> normalGenes;
for (int i = 0; i < n; i++) {
if ((genes[i] * genes[i]) % 7 != 1) {
normalGenes.push_back(genes[i]);
}
}
for (int i = 0; i < normalGenes.size(); i++) {
std::cout << normalGenes[i] << " ";
}
return 0;
}
代码解析
- 输入基因序列: 代码首先读取基因个数 n 和基因序列,存储在
genes向量中。 - 筛选正常基因: 循环遍历每个基因,判断其平方除以 7 的余数是否为 1。如果不是,则将其加入
normalGenes向量。 - 输出正常序列: 最后将
normalGenes向量中的元素输出,即为去除异形基因后的正常序列。
总结
本教程通过一个简单的基因序列筛选问题,演示了如何使用 C++ 代码实现算法逻辑。希望本教程能帮助您更好地理解算法原理和代码实现。
原文地址: https://www.cveoy.top/t/topic/qjAX 著作权归作者所有。请勿转载和采集!