3月11日(进阶3)

进阶3 .字母图形

题目描述

利用字母可以组成一些美丽的图形,下面给出了一个例子:

ABCDEFG

BABCDEF

CBABCDE

DCBABCD

EDCBABC

这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。

代码

cpp 复制代码
#include <iostream>
#include <cmath> // 需要用到 abs() 函数

using namespace std;

int main() {
    int n, m;
    // 读取输入的行数 n 和列数 m
    if (cin >> n >> m) {
        // 外层循环控制行
        for (int i = 0; i < n; ++i) {
            // 内层循环控制列
            for (int j = 0; j < m; ++j) {
                // 根据行列之差的绝对值计算当前位置的字符
                char c = 'A' + abs(i - j);
                cout << c;
            }
            // 每输出完一行后换行
            cout << endl;
        }
    }
    return 0;
}

总结

假设行号为 i (从 0 开始算),列号为 j(从 0 开始算):

  • i =j 时,距离是 0,字母是 'A' + 0 = 'A'
  • i \=j 时,字母的偏移量刚好是行号和列号之差的绝对值,即 abs(i - j)

例如在第 2 行(i=2):

  • 第 0 列(j =0):abs(2 - 0) = 2,对应 'A' + 2 = 'C'
  • 第 1 列(j =1):abs(2 - 1) = 1,对应 'A' + 1 = 'B'
  • 第 2 列(j =2):abs(2 - 2) = 0,对应 'A' + 0 = 'A'
  • 第 3 列(j =3):abs(2 - 3) = 1,对应 'A' + 1 = 'B'

所以,任意位置 (i ,j ) 上的字符就是:'A' + abs(i - j)


翻译

IV. 存储硬件

计算机的主存被组织成易于管理的单元,称为存储单元。为了反映以任何顺序访问存储单元的能力,计算机的主存通常被称为随机存取存储器。 RAM是微处理器的"候诊室"(等待区)。它保存等待处理的原始数据、用于处理该数据的程序指令,以及控制计算机系统基本功能的操作系统指令。它还保存处理结果,直到它们可以被移动到更永久的位置。ROM(只读存储器)包含少量指令和数据,称为引导加载程序。引导加载程序指令告诉数字设备如何启动。通常,引导加载程序执行自检,以了解硬件是否正常运行,并且还可能验证基本程序是否未被损坏。然后它将操作系统加载到RAM中。RAM是临时的且易失的,而ROM则更持久且非易失。即使设备关闭,ROM的内容也保持原样。

大多数计算机都有额外的存储设备,称为大容量存储(或辅助存储)系统。个人计算机通常使用三种类型:磁性、光学和固态。磁存储通过磁化磁盘或磁带表面上的微观粒子来表示数据。第一代个人计算机使用盒式磁带进行存储,尽管软盘存储很快就出现了。今天,磁存储技术最常见的例子是磁盘或硬盘驱动器。 CD、DVD和蓝光技术被归类为光存储,它将数据表示为光盘表面上的微观亮点和暗点。光学技术分为三类:只读、可记录和可重写。固态存储(有时称为闪存)将数据存储在可擦除、可重写的电路中。存储卡是一种扁平的固态存储介质,常用于将文件从数码相机和媒体播放器传输到计算机。固态驱动器是闪存的一个封装,可用作硬盘驱动器的替代品。 USB闪存驱动器(U盘)是一种便携式存储设备,使用内置USB连接器直接插入计算机系统单元。

相关推荐
Navigator_Z2 小时前
LeetCode //C - 1089. Duplicate Zeros
c语言·算法·leetcode
云泽8085 小时前
C++ 可调用对象通关指南:深度解析 Lambda 表达式、function 包装器与 bind 绑定器
开发语言·c++·算法
wlsh155 小时前
Go 迭代器
算法
语戚6 小时前
力扣 3161. 块放置查询:线段树解法(Java 实现)
java·算法·leetcode·面试·线段树·力扣·
CS创新实验室6 小时前
从顺序表到动态数组:数据结构的永恒基石与现代语言的优雅封装
数据结构·算法
Black蜡笔小新7 小时前
自动化AI算法训练服务器DLTM训推一体化平台助力农业生产管理实现安全智能化
人工智能·算法·自动化
8Qi88 小时前
LeetCode 23. 合并 K 个升序链表 —— 小顶堆(PriorityQueue)
数据结构·算法·leetcode·链表·
QiLinkOS8 小时前
《打破“用爱发电”:一种基于 Gitee 与时间戳的开源权益分配机制探索》
c语言·数据结构·c++·科技·算法·gitee·开源
松间听晚9 小时前
Agentic RL 环境和代码学习:以HGPO为例
算法
智者知已应修善业9 小时前
【51单片机用T0定时器方式1,实现0.5S的时间间隔实现第一次一个灯亮、第二次二个灯亮,直到全部灯亮,然后重复整个过程】2023-12-29
c++·经验分享·笔记·算法·51单片机