1006 换个格式输出整数——15分

让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。

输入格式:
每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。

输出格式:
每个测试用例的输出占一行,用规定的格式输出 n。

输入样例 1:

234

输出样例 1:

BBSSS1234

输入样例 2:

23

输出样例 2:

SS123

| 代码长度限制 | 时间限制 ||内存限制 |
|16 KB | 400 ms | 64 MB |

思路:因为题目给出的数据范围不大,在(0,1000)中,所以可以分成(0,9),[10,100)和[100,1000)三个情况分别讨论。

代码如下:

#include<bits/stdtr1c++.h>
using namespace std;
int main() {
    int num;
    cin >> num;
    if (num > 0 && num < 9) {
        for (int i = 1; i <= num; i++) cout << i;
    } else if (num >= 10 && num < 100) {
        int a = num / 10, b = num % 10;
        while (a--) cout << "S";
        for (int i = 1; i <= b; i++) cout << i;
    } else {
        int a = num / 100;
        int b = (num - a * 100) / 10, c = (num - a * 100) % 10;
        while (a--) cout << "B";
        while (b--) cout << "S";
        for (int i = 1; i <= c; i++) cout << i;
    }
    return 0;
}
posted @   Fare-Well  阅读(27)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示