孟德尔的豌豆杂交实验,上代码
#include<bits/stdc++.h>
using namespace std;
string f1[1000086],f2[1000086];
int main()
{
srand((unsigned long long int)time(NULL));
string s1="DD",s2="dd";
long long GG=0,Gg=0,gg=0;//Gene
long long n;//后代个数
cin>>n;//输入子一代个数
for(long long i=1;i<=n;i++)
{
long long cnt1=rand()%2;
long long cnt2=rand()%2;
f1[i]+=s1[cnt1];
f1[i]+=s2[cnt2];
}
for(long long i=1;i<=n;i++)
{
if(f1[i]=="DD") GG++;
else if(f1[i]=="dd") gg++;
else Gg++;
}
printf("P1: %lld %lld %lld\n",GG,Gg,gg);
GG=Gg=gg=0;//GG=0;Gg=0;gg=0;
for(long long i=1;i<=n;i++)
{
long long cnt1=rand()%2;
long long cnt2=rand()%2;
f2[i]+=f1[i][cnt1];
f2[i]+=f1[i][cnt2];
}
for(long long i=1;i<=n;i++)
{
if(f2[i]=="DD") GG++;
else if(f2[i]=="dd") gg++;
else Gg++;
}
printf("P2: %lld %lld %lld",GG,Gg,gg);
while(true) cin.get();
}
那么问题来了:
1.什么是豌豆杂交实验?
2.代码是怎么实现的?
3.有其他的实现方法吗?
这些问题我们放到下期来讨论。
标签:1000086,杂交,string,int,个数,玩法,long,---,还原 From: https://blog.csdn.net/2402_82882092/article/details/136435344