如果能得到完整的家谱 判断两个人是否亲戚应该是
遗传上面,也有一定的概率问题。
由于每一代人遗传的都是父辈基因的一半,孙辈基因数则未必就是爷爷的四分之一。从理论上来讲,除了性别基因,剩下的22对基因中,最多可遗传爷爷辈基因的1/2,最少则为0。两种情况的概率均为1/4194304。
血统则只和代数相关。
家谱的行辈字派是家谱中尤其重要的内容,一般由家庭中的某一位名人制订,编成几句吉祥话,有的文人甚至将其写成诗。
比如浙江《唐氏宗谱》的行辈字派是“福禄永昌隆,和良端世美,才智瑞宁聪”;湖北《汪氏宗谱》的行辈字派是“正大光明,成先于后,世泽延长,齐家有猷”。
中国的字辈,一般都是论中间的字为准(三个字为例),俗称派,是记载族人的排行字语。字辈命名起源于唐、宋,创于明,鼎盛于清,家族的排行,都是有一定的寓意。
一般的家族都要在撰修家谱来确定辈分的划定,达到“辨尊卑、序长幼”的目的。辈分的划分更是家族地位的主要标志,可明白长幼尊卑的伦常之分,符合伦常秩序的宗族组织原则。
大宋赵氏赵氏和大明朱家姓氏的字辈
1、大宋赵氏家族的字辈
字辈命名起源于唐、宋。宋太祖赵匡胤,为后代定的字辈连同自己的匡字一共十四个字,构成一幅对联“匡德惟从世令子,伯师希与孟由宜”。这是人们见到的最早的正式的字辈。
2、大明朱家的字辈
明太祖朱元璋的做法则复杂得多,他规定姓名格式为,姓+字辈+名,还规定取名用字必须用“五行偏旁者”,即以金、木、水、火、土为偏旁的字,而且要以火、土、金、水、木为顺序,即以五行循环相生为顺序。
家谱图怎么画具体如下:
步骤一:整理收集你所要展现的所有信息。
写下你想要展示在家谱里的所有家庭成员,从你的家庭开始分支出来。首先写下你的直系亲属的名字,然后添加上一代,不要忘了兄弟姐妹及其配偶子女,确保没有遗漏的人。作为家族历史重要的一部分,家谱需要时间与耐心来准确绘制。
步骤二:创建树状图。
写上家庭成员的名字,不清楚的可以问一下家里的老人,写好树状图,去问问家族的老人,以寻找更多的信息来绘制家谱图。名字、出生日期、生活照片等等,追寻的代数越久远,这些信息越不好收集。进行一些研究,仔细检查自己的家谱树,这是一个大好机会去更多地了解家族历史。
一般来说,一个家族成员的亲戚关系是由家族血缘关系决定的。在一个家族中,一代人之间的亲戚关系最为密切,因为他们的基因有一半是相同的。随着代数的增加,亲戚关系会逐渐疏远,因为基因的共享程度会逐渐减少。
具体来说,一代人之后的亲戚关系会减半,也就是说,如果你的父母有一半的基因来自于你的祖父母,那么你有一半的基因来自于你的父母,而你的子女只有一半的基因来自于你。这个过程会一直持续下去,随着代数的增加,亲戚关系会越来越疏远。
在家族血缘关系方面,一般认为三代以内的亲戚关系最为密切,而四代以上的亲戚关系就比较疏远了。当然,这只是一个大致的规律,实际亲戚关系的疏密程度还受到许多其他因素的影响,比如家族成员之间的交流、共同生活经历等等。
需要注意的是,家族血缘关系和亲戚关系并不是一成不变的,它们会随着时间的推移和家族成员之间的互动而发生变化。因此,对于具体的家族成员之间的关系,需要结合实际情况进行分析和判断。
#include<stdioh>
#include<stringh>
char w[5][20]={{"child"},{"parent"},{"sibling"},{"descendant"},{"ancestor"}};
int kong(char a[]) {
int n=0,i;
for(i=0;a[i]!='\0';i++) {
if(a[i]==' ')
n++;
else
break;
}
return n;
}
char fam[200][20];
int num[200]={0};
int search(char a[],int n) {
int i=1;
while(1) {
if(!strcmp(a,fam[i]))
return i;
i++;
}
return 0;
}
int search1(int n,int x) {
int i=1;
while(i<x) {
if(num[i]==n)
return i;
i++;
}
return 0;
}
char name[1000],word[1000],n1[100],n2[100],d[100];
int main() {
int n,m,i,j,a,b,t,x,k,h;
while(scanf("%d%d",&n,&m)!=EOF) {
memset(fam,'\0',sizeof(fam));
memset(num,'\0',sizeof(num));
scanf("%s",fam[1]);
getchar();
a=b=2;
t=1;
num[1]=1;
for(i=2;i<=n;i++) {
memset(name,'\0',sizeof(name));
gets(name);
b=kong(name);
if(b>a) {
if(fam[search1(t2+1,i)][0]!='\0')
t=t2+1;
else
t=t2;
}
else { if(b<a) {
h=(a-b)/2;
while(h>=1) {
t=t/2;
h--;
}
}}
if(fam[search1(t2,i)][0]!='\0')
x=t2+1;
else x=t2;
num[i]=x;
for(j=b;name[j]!='\0';j++)
fam[i][j-b]=name[j];
a=b;
}
for(i=0;i<m;i++) {
gets(word);
k=0;h=0;
memset(n1,'\0',sizeof(n1));
memset(n2,'\0',sizeof(n2));
memset(d,'\0',sizeof(d));
for(j=0;word[j]!='\0';j++) {
if(word[j]==' ') {
k++;
h=0;
continue;
}
if(k==0)
n1[j]=word[j];
if(k==5) {
n2[h]=word[j];
h++;
}
if(k==3) {
d[h]=word[j];
h++;
}
}
if(!strcmp(d,w[0])) {
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
if(a==b2||a==(b2+1))
printf("True\n");
else printf("False\n");
continue;
}
if(!strcmp(d,w[1])) {
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
if(b==a2||b==(a2+1))
printf("True\n");
else printf("False\n");
continue;
}
if(!strcmp(d,w[2])) {
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
if((a==b+1&&a==b/22+1)||(a==b-1&&b==a/22+1))
printf("True\n");
else printf("False\n");
continue;
}
if(!strcmp(d,w[3])) {
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
while(a>0) {
a=a/2;
if(a==b) {
printf("True\n");
break;
}
if(a==0)
printf("False\n");
}
continue;
}
if(!strcmp(d,w[4])) {
a=search(n1,n);a=num[a];
b=search(n2,n);b=num[b];
while(b>0) {
b=b/2;
if(a==b) {
printf("True\n");
break;
}
if(b==0)
printf("False\n");
}
continue;
}
}
}
return 0;
}
听说回答的够长能够自动采纳
如果能得到完整的家谱 判断两个人是否亲戚应该是
本文2023-10-14 09:49:50发表“资讯”栏目。
本文链接:https://www.lezaizhuan.com/article/251569.html