c – 生成(不是这样)具有特定字符串出现的随机字符串
发布时间:2020-12-16 09:57:39 所属栏目:百科 来源:网络整理
导读:我有一个要求,我有字母“ACGT”,我需要创建一个约20,000个字符的字符串.该字符串应包含100次出现的模式“CCGT”.大多数情况下,生成的字符串包含大约20-30个实例. int N = 20000; std::string alphabet("ACGT"); std::string str; str.reserve(N); for (int i
我有一个要求,我有字母“ACGT”,我需要创建一个约20,000个字符的字符串.该字符串应包含100次出现的模式“CCGT”.大多数情况下,生成的字符串包含大约20-30个实例.
int N = 20000; std::string alphabet("ACGT"); std::string str; str.reserve(N); for (int index = 0; index < N; index++) { str += alphabet[rand() % (alphabet.length())]; } 如何调整代码以使模式更频繁地出现? 编辑 – 有没有办法改变字母表,即 – ‘A’,’C’,’G’,’T’,’CCGT’作为字母表的字符? 谢谢. 解决方法
生成包含100 x 0和490 1s,2s,3s和4s的int数组
[000000 …. 222221 …. 2222等]制作近20,000个条目. 然后随机随机播放它(std :: random_shuffle) 然后写一个字符串,其中每个0转换为’CCGT’,每个1转换为’A’,每个2转换为….等 我认为这可以为您提供所需的内容,通过调整原始的整数数组,您也可以更改输出中的“A”字符数. 编辑:如果这不够随机,请在开始时执行100 0,然后随机选择1-4. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |