• 牛客网 PAT 算法历年真题 1001 : A+B和C (15)


    1001 : A+B和C (15)

    时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard 

    题目描述

    给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C。

    输入描述:

    输入第1行给出正整数T(<=10),是测试用例的个数。随后给出T组测试用例,每组占一行,顺序给出A、B和C。整数间以空格分隔。


    输出描述:

    对每组测试用例,在一行中输出“Case #X: true”如果A+B>C,否则输出“Case #X: false”,其中X是测试用例的编号(从1开始)。

    输入例子:

    4
    1 2 3
    2 3 4
    2147483647 0 2147483646
    0 -2147483648 -2147483647

    输出例子:

    Case #1: false
    Case #2: true
    Case #3: true
    Case #4: false


    思路分析:

    这其实就是一个比较大小的算术题,就相当于判断三角形的两边之和是否大于第三边,从而确认是否是合法的三角形,只不过咱题目里的数可以是负数:

    ①因为A、B、C的区间为[-2的31次方, 2的31次方],所以int是存不下的,需要用lang类型的变量来接收
    ②判断A+B是否大于C,如果大于,输出Case #i: true,否则输出Case #i: false
    ③如果还有测试用例,继续从①开始执行,否则结束程序


    java 代码如下:
    import java.util.Scanner;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sca = new Scanner(System.in);
            int N = sca.nextInt();
            long a,b,c;
            boolean[] n = new boolean[N];
            for (int i = 0; i < N; i++) {
                a = sca.nextLong();
                b = sca.nextLong();
                c = sca.nextLong();
                if(a+b>c)
                    n[i] = true;
                else
                    n[i] = false;
            }
            for (int i = 0; i < N; i++) {
                System.out.println("Case #"+(i+1)+": "+n[i]);
            }
        }
    }



    作者:十八岁

    -------------------------------------------

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!

  • 相关阅读:
    258. Add Digits 数位相加到只剩一位数
    7. Reverse Integer 反转整数
    9. Palindrome Number 回文数的判断
    824. Goat Latin山羊拉丁文
    819. Most Common Word 统计高频词(暂未被禁止)
    Angular 2 模板语法
    HTML DOM Style opacity 属性
    Basic concepts (C language) – C 中文开发手册
    JavaScript手册 | JS Array 对象中的fill()方法
    HTML <form> 标签
  • 原文地址:https://www.cnblogs.com/l199616j/p/10307043.html
Copyright © 2020-2023  润新知