先得出输入的数的位数,题目保证位数<4,然后分情况讨论,比如如果这个数是三位,那么B的数量就是百位上的那个数,S就是十位上的那个数,个位一个循环搞定
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int get_num(int n)
{
if(n==0) return 1;
int cnt=0;
int t=n;
while(t)
{
t/=10;
cnt++;
}
return cnt;
}
int main()
{
int N;
cin>>N;
int num=get_num(N);
if(num==3)
{
int n1=N,n2=N,n3=N;
int cntb=0,cnts=0;
cntb=n1/100;
cnts=(n2-cntb*100)/10;
//cout<<cntb<<' '<<cnts;
for(int i=0;i<cntb;i++) cout<<'B';
for(int j=0;j<cnts;j++) cout<<'S';
int gewei=n3%10;
for(int k=1;k<=gewei;k++) cout<<k;
}
if(num==2)
{
int n1=N,n2=N;
int cnt=0;
cnt=n1/10;
for(int i=0;i<cnt;i++) cout<<'S';
int gewei=n2%10;
for(int k=1;k<=gewei;k++) cout<<k;
}
if(num==1)
{
for(int k=1;k<=N;k++) cout<<k;
}
return 0;
}