问题 1115: DNA

本文介绍了一个使用Java编程语言绘制DNA序列图案的方法。通过输入DNA串的行数和重复度,程序能够生成具有双螺旋结构的DNA图案。文章包含了完整的代码示例,展示了如何通过循环和条件判断来实现DNA图案的绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述
小强从小就喜欢生命科学,他总是好奇花草鸟兽从哪里来的。终于, 小强上中学了,接触到了神圣的名词–DNA.它有一个双螺旋的结构。这让一根筋的小强抓破头皮,“要是能画出来就好了” 小强喊道。现在就请你帮助他吧。
输入
输入包含多组测试数据。第一个整数N(N<=15),N表示组数,每组数据包含两个整数a,b。a表示一个单位的DNA串的行数,a为奇数且 3<=a<=39。b表示重复度(1<=b<=20)。
输出
输出DNA的形状,每组输出间有一空行。
样例输入
2
3 1
5 4
在这里插入图片描述

import java.util.*;
public class Main{
public static void main(String[] args) {
	Scanner sc = new Scanner(System.in);
	int n = sc.nextInt();// n表示组数
	while (n != 0) {
		int a = sc.nextInt();// a表示一个单位的DNA串的行数
		int b = sc.nextInt();// b表示重复度
		for (int j = 1; j <= a; j++) {// 先输出一个完整的DNA序列
			for (int k = 1; k <= a; k++) {
				if (j == k || j + k == a + 1) {
					System.out.print("X");
				} else {
					System.out.print(" ");
				}

			}
			System.out.println();
		}
		for (int i = 2; i <= b; i++) {// 如果重数大于1,则以下的DNA从第二行开始输出,这时候j要从2开始
			for (int j = 2; j <= a; j++) {
				for (int k = 1; k <= a; k++) {
					if (j == k || j + k == a + 1) {
						System.out.print("X");
					} else {
						System.out.print(" ");
					}

				}
				System.out.println();
			}
		}
		System.out.println();
		n--;
	}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值