[PAT B] 1006 换个格式输出整数

1006 换个格式输出整数

题目

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

输入格式:

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

输出格式:

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

输入样例:

234

输出样例:

BBSSS1234

思路分析

简单题,按编码顺序求各个数位即可

举一反三

显然非十进制数也可如此处理

代码

#include <iostream>

using namespace std;

int main() {
    int num;
    cin >> num;
    int g = num % 10;
    num = (num - g) / 10;

    int s = num % 10;
    num = (num - s) / 10;

    int b = num % 10;
    while (b--) {
        cout << "B";
    }
    while (s--) {
        cout << "S";
    }
    for (int i = 1; i <=g; i++) {
        cout << i;
    }
    return 0;
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
一只热爱编程的松鼠
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!