当前位置: 首页 > news >正文

[GESP202309 三级] 进制判断

B3868 [GESP202309 三级] 进制判断

题目描述

NNN 进制数指的是逢 NNN 进一的计数制。例如,人们日常生活中大多使用十进制计数,而计算机底层则一般使用二进制。除此之外,八进制和十六进制在一些场合也是常用的计数制(十六进制中,一般使用字母 A 至 F 表示十至十五)。

现在有 NNN 个数,请你分别判断他们是否可能是二进制、八进制、十进制、十六进制。例如,15A6F 就只可能是十六进制,而 1011 则是四种进制皆有可能。

输入格式

输入的第一行为一个十进制表示的整数 NNN。接下来 NNN 行,每行一个字符串,表示需要判断的数。保证所有字符串均由数字和大写字母组成,可能以 000 开头。保证不会出现空行。

保证 1≤N≤10001 \le N \le 10001N1000,保证所有字符串长度不超过 101010

输出格式

输出 NNN 行,每行 444 个数,用空格隔开,分别表示给定的字符串是否可能表示一个二进制数、八进制数、十进制数、十六进制数。使用 111 表示可能,使用 000 表示不可能。

例如,对于只可能是十六进制数的 15A6F,就需要输出 0 0 0 1;而对于四者皆有可能的 1011,则需要输出 1 1 1 1

输入输出样例 #1

输入 #1

2
15A6F
1011

输出 #1

0 0 0 1
1 1 1 1

输入输出样例 #2

输入 #2

4
1234567
12345678
FF
GG

输出 #2

0 1 1 1
0 0 1 1
0 0 0 1
0 0 0 0

【题目分析】

  • 本题是多组数据,多组输出,针对每组测试数据,判断是否可以表示二进制、八进制、十进制、十六进制的数字,如果数字中只有0和1,那么这个数能表达所有进制的数据,即输出1 1 1 1。
  • 如果数字中的数字存在2−72-727的数字,并且没有超过7的数字存在,那么这个数可以表达八进制数、十进制数和十六进制数,即输出0 1 1 1。
  • 如果这个数存在8−98-989的数字,并且没有超过9的数字存在,那么这个数可以表达十进制数,十六进制数,即输出0 0 1 1。
  • 如果这个数字存在A−FA-FAF的数字,并且没有超过F的数字存在,那么这个数可以表达十六进制数,即输出0 0 0 1。
  • 如果这个数字存在比F大的数字,那么这个数不可以表达这四个进制中的任何一个数,即输出0 0 0 0。
  • 本题中有存在字符的输入,输入数据类型为string。
    【代码展示】
#include<bits/stdc++.h>
using namespace std;
int n,f,l;
string a;
int main()
{cin>>n;while(n--)//循环n次 {cin>>a;//输入一个进制数f=0;//标记变量fl=a.size();//获取字符串长度 for(int i=0;i<l;i++){if(a[i]>='0'&&a[i]<='1'&&f<2)//数据存在0和1,并且没有标记其它进制 {f=2;//标记变量为2进制	}else if(a[i]>='2'&&a[i]<='7'&&f<8)//数据存在 2~7的数,并且标记了比八进制小的进制{f=8;//标记变量为8进制 }else if(a[i]>='8'&&a[i]<='9'&&f<10)//数据存在 8~9的数,并且标记了比十进制小的进制{f=10;//标记变量为十进制 }else if(a[i]>='A'&&a[i]<='F'&&f<16)//数据存在 A~F的数,并且标记了比十六进制小的进制{f=16;//标记变量为十进制 }	else if(a[i]>'F')//数据存在比F大的其它字符 {f=100;//标记变量为更大的进制,无法表达题目中的四个进制	} } if(f==2)//能表达二进制就能表达八进制、十进制、十六进制 {cout<<"1 1 1 1\n"; }else if(f==8){cout<<"0 1 1 1\n";	} else if(f==10){cout<<"0 0 1 1\n";}else if(f==16){cout<<"0 0 0 1\n";}else if(f==100){cout<<"0 0 0 0\n";}}return 0;
} 

文章转载自:

http://gQejzDpv.wqmpd.cn
http://9plXt3Ys.wqmpd.cn
http://L4y3lxbu.wqmpd.cn
http://73OxUIfm.wqmpd.cn
http://ujyK0iSM.wqmpd.cn
http://MkTwQVzC.wqmpd.cn
http://cziR415Z.wqmpd.cn
http://4PZGFTJZ.wqmpd.cn
http://xtrzgjYV.wqmpd.cn
http://NQ59Z6hJ.wqmpd.cn
http://FLpCmIPU.wqmpd.cn
http://frbPh780.wqmpd.cn
http://BEJkrObF.wqmpd.cn
http://fKnXyokI.wqmpd.cn
http://yCJDvDqQ.wqmpd.cn
http://hY11m2kX.wqmpd.cn
http://SggdO89c.wqmpd.cn
http://dAgjBb96.wqmpd.cn
http://PGnSH1lj.wqmpd.cn
http://rzZY0gG1.wqmpd.cn
http://gMMTBBbl.wqmpd.cn
http://ysCzYbDs.wqmpd.cn
http://lrsi5nyq.wqmpd.cn
http://ZqnqM7SE.wqmpd.cn
http://xCCWBmYL.wqmpd.cn
http://87ILgd6n.wqmpd.cn
http://DtFSaavw.wqmpd.cn
http://FwQTvjtT.wqmpd.cn
http://66gsFEGh.wqmpd.cn
http://BaWgSGte.wqmpd.cn
http://www.dtcms.com/a/388614.html

相关文章:

  • 【C++】const和static的用法
  • 箭头函数{}规则,以及隐式返回
  • brain.js构建训练神经网络
  • 开学季高效学习与知识管理技术
  • C++STL与字符串探秘
  • 【面试题】- 使用CompletableFuture实现多线程统计策略工厂模式
  • 打工人日报#20250917
  • LeetCode:12.最小覆盖字串
  • 【C++】 深入理解C++虚函数表与对象析构机制
  • C++ 中 ->和 . 操作符的区别
  • SQL CTE (Common Table Expression) 详解
  • 解决windows更新之后亮度条消失无法调节的问题
  • FPGA学习篇——Verilog学习译码器的实现
  • JavaScript Promise 终极指南 解决回调地狱的异步神器 99% 开发者都在用
  • AI智能体开发实战:从提示工程转向上下文工程的完整指南
  • jtag协议处理流程
  • 【LeetCode 每日一题】2749. 得到整数零需要执行的最少操作数
  • 《饿殍:明末千里行》Switch版试玩发布 3月13日发售
  • LeetCode:9.找到字符串中所有的字母异位词
  • Java获取淘宝商品详情数据的详细说明
  • PyTorch张量运算、索引与自动微分详解
  • Simulink变量优先级与管理策略
  • 大模型学习:什么是FastText工具
  • 从芯片到云:微软Azure全栈硬件安全体系构建可信基石
  • 当文件传输遇上网络波动:如何实现稳定高效的数据交换
  • C++访问限定符private、public、protected的使用场景
  • springboot 使用CompletableFuture多线程调用多个url接口,等待所有接口返回后统一处理接口返回结果
  • 科普:build与make
  • 对比OpenCV GPU与CPU图像缩放的性能与效果差异
  • 网络工程师行业新技术新概念