[GESP202309三级]进制判断---题解

· · 题解

[GESP202309三级]进制判断题目传送门

首先,我们要明确在N进制中最大会出现的数字或字母:如二进制,就只可能出现 0 或 1 ,在八进制中,就只会出现0~7,以此类推.

那么我们根据如上思路就可以写出代码,话不多说,上代码!

#include<bits/stdc++.h>//万能头
using namespace std;
int a,b,c,d;//为后面判断是否满足而定义
int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        string str;//定义每次输入的进制
        cin>>str;//输入
        a=1,b=1,c=1,d=1;//初始化变量
        for(int i=0;i<str.size();i++)//循环遍历每一个字符
        {
            if(str[i]>='2')
            {
                a=0;//如果不满足,则a=0
            }
            if(str[i]>='8')
            {
                b=0;
            }
            if(str[i]>='A')
            {
                c=0;
            }
            if(str[i]>='G')
            {
                d=0;
            }
        }
        cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<endl;//遍历完成,输出
        //一点小癖好(qwq)
    }
    return 0;//养成好习惯
}
//本代码已做防伪处理(qwq)

这是我第一次发题解,留点东西再走吧!(qwq)