让我们用字母 B
来表示“百”、字母 S
表示“十”,用 12...n
来表示不为零的个位数字 n
(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234
应该被输出为 BBSSS1234
,因为它有 2 个“百”、3 个“十”、以及个位的 4。
输入格式:
每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。
输出格式:
每个测试用例的输出占一行,用规定的格式输出 n。
输入样例 1:
234
输出样例 1:
BBSSS1234
输入样例 2:
23
输出样例 2:
SS123
AC代码如下:
#include<iostream>
#include<string>
using namespace std;
string tranform(string& a);
int main()
{
string a,b;
cin>>a;
b=tranform(a);
cout<<b;
return 0;
}
string tranform(string& a)
{
int len=a.length(),i=0;
string temp;
switch(a[a.length()-1])
{
case '1':
temp.insert(0,"1");
break;
case '2':
temp.insert(0,"12");
break;
case '3':
temp.insert(0,"123");
break;
case '4':
temp.insert(0,"1234");
break;
case '5':
temp.insert(0,"12345");
break;
case '6':
temp.insert(0,"123456");
break;
case '7':
temp.insert(0,"1234567");
break;
case '8':
temp.insert(0,"12345678");
break;
case '9':
temp.insert(0,"123456789");
default:
break;
}
if(len>=2)
{
for(int i=0;i<a[a.length()-2]-'0';++i)
{
temp.insert(0,"S");
}
if(len>=3)
{
for(int i=0;i<a[a.length()-3]-'0';++i)
{
temp.insert(0,"B");
}
}
}
return temp;
}