2021辽宁省大学生程序设计竞赛(正式赛)G.字节类型(大数)

简介: 2021辽宁省大学生程序设计竞赛(正式赛)G.字节类型(大数)

linkkk

题意:

20200401134307494.png

思路:

模拟,数太大了可以用java或py写,记录一下大数的输入和A P I

代码:

n.compareTo表示和某个数比较

B i g I n t e g e r . v a l u e O f表示将某个数转为大数

n e w B i g I n t e g e r ( " − 9223372036854775808 " )表示将字符串变为大数

import java.math.BigInteger;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        BigInteger n=sc.nextBigInteger();
        if(n.compareTo(BigInteger.valueOf(-128))>=0&&n.compareTo(BigInteger.valueOf(127))<=0) 
            System.out.println("byte");
        else if(n.compareTo(BigInteger.valueOf(-32768))>=0&&n.compareTo(BigInteger.valueOf(32767))<=0)
            System.out.println("short");
        else if(n.compareTo(BigInteger.valueOf(-2147483648))>=0&&n.compareTo(BigInteger.valueOf(2147483647))<=0)
            System.out.println("int");
        else if(n.compareTo(new BigInteger("-9223372036854775808"))>=0&&n.compareTo(new BigInteger("9223372036854775807"))<=0)
            System.out.println("long");
        else 
            System.out.println("BigInteger");
    }
}
n=int(input())
if -128<=n<=127:
    print("byte")
elif -32768<=n<=32767:
    print("short")
elif -2147483648<=n<=2147483647:
    print("int")
elif -9223372036854775808<=n<=9223372036854775807:
    print("long")
else:
    print("BigInteger")
目录
相关文章
|
1月前
|
测试技术
牛客刷题·组队竞赛·进制转换·连续最大和
牛客刷题·组队竞赛·进制转换·连续最大和
12 0
|
存储 缓存 算法
字节面试必须拿下的十道算法题,你会几道?
最近不少小伙伴跟我交流刷题肿么刷,我给的建议就是先剑指offer和力扣hot100,在这些题中还有些重要程度和出现频率是非常非常高的,今天给大家分享当今出现频率最高的10道算法题,学到就是赚到。
156 0
字节面试必须拿下的十道算法题,你会几道?
|
10月前
|
存储 机器学习/深度学习 测试技术
【浙江大学PAT真题练习乙级】1008 数组元素循环右移问题 (20分)真题解析
【浙江大学PAT真题练习乙级】1008 数组元素循环右移问题 (20分)真题解析
|
11月前
|
Java
ACM刷题之路(八)数论-取余 停车位划分
ACM刷题之路(八)数论-取余 停车位划分
|
C语言 C++
PTA团体程序设计天梯赛-练习集: L1-050 倒数第N个字符串 ( 15分 )
给定一个完全由小写英文字母组成的字符串等差递增序列,该序列中的每个字符串的长度固定为 L,从 L 个 a 开始,以 1 为步长递增。例如当 L 为 3 时,序列为 { aaa, aab, aac, ..., aaz, aba, abb, ..., abz, ..., zzz }。这个序列的倒数第27个字符串就是 zyz。对于任意给定的 L,本题要求你给出对应序列倒数第 N 个字符串。 输入格式: 输入在一行中给出两个正整数 L(2 ≤ L ≤ 6)和 N(≤105)。 输出格式: 在一行中输出对应序列倒数第 N 个字符串。题目保证这个字符串是存在的。 输入样例:
137 0
|
测试技术 C语言 C++
PTA团体程序设计天梯赛-练习集:L1-003 个位数统计
给定一个 k 位整数 N=dk−110k−1+⋯+d1101+d0 (0≤di≤9, i=0,⋯,k−1, dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定 N=100311,则有 2 个 0,3 个 1,和 1 个 3。 输入格式: 每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数 N。 输出格式: 对 N 中每一种不同的个位数字,以 D:M 的格式在一行中输出该位数字 D 及其在 N 中出现的次数 M。要求按 D 的升序输出。
154 0
高职考技能提升教程010期 回文数(对称数)
高职考技能提升教程010期 回文数(对称数)
PTA团体程序设计天梯赛-练习集 L3-020 至多删三个字符 (dp)
PTA团体程序设计天梯赛-练习集 L3-020 至多删三个字符 (dp)
125 0
|
测试技术 C++
试题历届真题特别数的和【第十届】【省赛】【B组】(C++)
资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。请问,在 1 到 n 中,所有这样的数的和是多少?
207 0
|
编译器 C语言 C++
试题 历届真题 交换瓶子【第七届】【省赛】【B组】
有N个瓶子,编号 1 ~ N,放在架子上。   比如有5个瓶子:   2 1 3 5 4   要求每次拿起2个瓶子,交换它们的位置。   经过若干次后,使得瓶子的序号为:   1 2 3 4 5   对于这么简单的情况,显然,至少需要交换2次就可以复位。   如果瓶子更多呢?你可以通过编程来解决。
154 0
试题 历届真题 交换瓶子【第七届】【省赛】【B组】