PAT1006 换个格式输出整数
题目
让我们用字母B
来表示“百”、字母S
表示“十”,用12...n
来表示不为零的个位数字n(<10),换个格式来输出任一个不超过 3 位的正整数。例如234
应该被输出为BBSSS1234
,因为它有 2 个“百”、3 个“十”、以及个位的 4。
输入格式
每个测试输入包含 1 个测试用例,给出正整数n(<1000)。
输出格式
每个测试用例的输出占一行,用规定的格式输出n。
输入样例
输出样例
输入样例2
输出样例2
思路
水题,拆分 个,十,百位。注意格式~
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| #include <iostream> using namespace std; void ge(int i) { for(int j = 0;j < i;j++) { cout << j+1; } }
void shi(bool s, int i) { if(s) { for(; i > 0; i--) { cout << "S"; } }else { for(; i > 0; i--) { cout << "B"; } } }
int main(int argc, char const *argv[]) { int i; cin >> i; if(i < 10) { ge(i); }else if(i < 100) { int t = i/10; shi(true, t); ge(i % 10); }else { int t = i/100; shi(false, t); t = i /10; shi(true, t % 10); ge(i % 10); } return 0; }
|