欢迎光临
我们一直在努力

【题解】WebGoC 12518.DNA双螺旋结构

题目描述

DNA被称之为遗传微粒,它是组成基因的材料。DNA亲子鉴定可以分析遗传特征,判断父母与子女之间是否是亲生关系;DNA检测可以在身体没有患病的情况下,找到隐藏在您体内的“基因地雷”; 在这次的新冠病毒朔源中,基因测序技术就起着至关重要的作用。


上图是一个DNA双螺旋模型,小C也想编程画出如下图变化规律的图形,请你帮帮他吧。                            


这个图形我们可以把它看成是由:一条粗细为1的直线,两头各有一个半径为5的红色(1号色)和绿色(3号色)实心圆而构成的基本图形。


它按从左到右,逐渐变长,再逐渐变短的规律而成的,每次变化值为10,图形间距为10。我们把下图称为“一节”,它还有一个对称节。


                                 

DNA模型图就是由这些一节节的图形交叉出现而构成,现在请你根据规律画出一个有N节的DNA双螺旋模型图。

 注意:N=10时要确保图形全部在画布窗口内 


输入格式

输入一个正整数N(1<=N<=10),表示图形有N节。


输出格式

请你根据规律画出一个有N节的DNA双螺旋模型图。


输入/输出例子1

输入:

3

输出:


输入/输出例子2

输入:

4

输出:


参考答案

void DNA(int a)
{
int r=3,g=1;
if(a%2==0)
{
r=1;
g=3;
}
p.size(1);
for(int i=0;i<=3;i++)
{
p.fd(i*20/2.0);
p.oo(5,r);
p.bk(i*20/2.0);
p.bk(i*20/2.0);
p.oo(5,g);
p.up();
p.fd(i*20/2.0);
p.rt(90).fd(10).lt(90);
p.down();
}
for(int i=3;i>=0;i–)
{
p.fd(i*20/2.0);
p.oo(5,r);
p.bk(i*20/2.0);
p.bk(i*20/2.0);
p.oo(5,g);
p.up();
p.fd(i*20/2.0);
if(i==0)
{
p.clsRec(10,10);
p.oo(5,r);
break;
}
p.rt(90).fd(10).lt(90);
p.down();
}
}
int main(){
p.speed(10);
p.moveTo(-350,0)
int a;
cin>>a;
for(int i=0;i<a;i++)
{
DNA(i);
}
p.hide();
return 0;
}


题目链接:

https://v1.51goc.com/question/viewProgram/12518

(进去后要登录)

赞(0)
未经允许不得转载:171主机测评 » 【题解】WebGoC 12518.DNA双螺旋结构
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址