1 条题解
-
0
📝 题目大意
给定一个整数 (),输出从
A开始按升序连接的前 个大写英文字母组成的字符串。💡 解题思路
- 题目分析: 最大为 ,恰好对应全部大写字母的数量。因此无论如何输入,答案都在合法范围内,无需考虑越界。
- 算法推导:
- 读入 (代码中变量名为
a)。 - 维护一个偏移量
b,初始为 ,表示当前应输出的字母相对于'A'的 ASCII 偏移。 - 循环 次(
i从 到a),每次输出'A' + b,随后b自增 。 - 等价于依次输出
A、B、C、……、第 个字母。
- 读入 (代码中变量名为
- 边界与细节:
- 时输出
A,循环仅执行一次,符合题意。 - 时输出
A到Z的全部字母,循环执行 次,不会越界。 - 使用
printf("%c", ...)逐个字符输出,避免字符串拼接开销。
- 时输出
⏱️ 复杂度分析
- 时间复杂度:,仅需一次循环遍历 个字母。
- 空间复杂度:,只使用了常数个变量。
💻 标准代码 (C++)
#include<bits/stdc++.h> using namespace std; int main(){ int a, b = 0; // a 存储输入 K,b 为当前字母相对于 'A' 的偏移量 cin >> a; // 读入 K for(int i = 1; i <= a; i++){ // 循环 K 次 printf("%c", 'A' + b); // 输出当前字母('A' + 偏移量) b++; // 偏移量增加,指向下一个字母 } return 0; }
- 1
信息
- ID
- 674
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者