https://citel.bjtu.edu.cn/acm/oj/problem/1841

A QQ等级

Problem A. QQ等级

时间限制 1000 ms
内存限制 64 MB

题目描述

SonaXiao 以前对QQ等级特别在意,整天挂着QQ为了升等级,还经常和别人比等级高低。
QQ等级的规则是:1个星星是1级,4个星星可以变成1个月亮(4级),4个月亮可以变成1个太阳(16级),4个太阳可以变成1个皇冠(64级)。再往上不知道有没有了,反正 SonaXiao 是没见过。
现在告诉你QQ等级,你能知道他的具体图标表示吗?

输入数据

第一行为一个整数 )

,表示数据的组数。接下来对于每组数据:
第一行为一个整数 )

,表示询问的QQ等级。

输出数据

对于每组数据,输出一行: 第一行为一个字符串,表示对应的QQ等级图标。
其中*代表星星,^代表月亮,@代表太阳,~代表皇冠。 图标应按其表示的等级从高到低排序。

样例输入

2
2
49

样例输出

**
@@@*

样例说明

请注意输出的合法性,例如,当 5

时,应该输出 ^*(一个月亮一个星星),而不是 *****(五个星星),*^ 也是不合法的。

 
 

【分析】:按照题意皇冠太阳月亮星星分别代表四进制的四位(逢四进一).

【代码】:

#include <bits/stdc++.h>

using namespace std;

#define ll long long

int main()
{
   int t,n,ans,res;
   cin>>t;
   while(t--)
   {
       cin>>n;
        if(n>=64) {
            ans=n/64;
            n%=64;
           //  printf("ans=%d n=%d\n",ans,n);
          while(ans--){
                printf("~");
            }

        }
        if(n>=16&&n<64){
            ans=n/16;
            n%=16;
           // printf("ans=%d n=%d\n",ans,n);
            while(ans--){
                printf("@");
            }

        }
        if(n>=4&&n<16){
            ans=n/4;
            n%=4;
             //printf("ans=%d n=%d\n",ans,n);
            while(ans--){
                printf("^");
            }

        }
        if(n>=1&&n<4){
            ans=n/1;
            n%=1;
           // printf("ans=%d n=%d\n",ans,n);
             while(ans--){
                printf("*");
            }
        }
    printf("\n");
   }
}
模拟

相关文章:

  • 2022-12-23
  • 2021-12-06
  • 2021-09-17
  • 2021-11-30
  • 2021-10-19
  • 2021-10-30
  • 2022-01-02
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-06-18
  • 2022-12-23
  • 2022-12-23
  • 2021-06-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案