【Java版oj】day27不用加减乘除做加法、三角形

这篇具有很好参考价值的文章主要介绍了【Java版oj】day27不用加减乘除做加法、三角形。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 一、不用加减乘除做加法

(1)原题再现

(2)问题分析

(3)完整代码

 二、三角形

(1)原题再现

(2)问题分析

(3)完整代码


 一、不用加减乘除做加法

(1)原题再现

不用加减乘除做加法__牛客网

写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。

输入

1,2

输出

3

输入

0,0

输出

0

(2)问题分析

        这道题的解析直接指路day09不用加号的加法【Java版oj】day09不用加号的加法、走方格的方案数_小熊爱吃软糖吖的博客-CSDN博客

(3)完整代码

public class Solution {
    public int Add(int num1, int num2) {
        //^得无进位的相加,&进位情况
        int add = (num1 & num2)<<1;
        int num = num1 ^ num2;
        while (add != 0) {
            int tmp=num;
            num = num ^ add;
            add = (add & tmp)<<1;
        }
        return num;
    }
}
【Java版oj】day27不用加减乘除做加法、三角形

 二、三角形

(1)原题再现

三角形__牛客网

给定三条边,请你判断一下能不能组成一个三角形。

输入描述:

输入包含多组数据,每组数据包含三个正整数a、b、c(1≤a, b, c≤10^100)。
输出描述:

对应每一组数据,如果它们能组成一个三角形,则输出“Yes”;否则,输出“No”。

示例1输入

1 2 3

2 2 2

输出

No

Yes

(2)问题分析

        求三角形的条件就是两边之和大于第三边,本题给出的数据范围真的超级大,关键在于对大正数的处理。

指路☞:【Java】关于你不知道的Java大整数运算之BigInteger类超级好用!!!_小熊爱吃软糖吖的博客-CSDN博客

(3)完整代码

import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextBigInteger()) { // 注意 while 处理多个 case
            BigInteger []triangle = new BigInteger[3];
            for (int i = 0; i < 3; i++) {
                triangle[i] = sc.nextBigInteger();
            }
            Arrays.sort(triangle);
            if (triangle[0].add(triangle[1]).compareTo(triangle[2]) > 0) {
                System.out.println("Yes");
            } else {
                System.out.println("No");
            }
        }
    }
}

【Java版oj】day27不用加减乘除做加法、三角形


【Java版oj】day27不用加减乘除做加法、三角形文章来源地址https://www.toymoban.com/news/detail-415239.html

到了这里,关于【Java版oj】day27不用加减乘除做加法、三角形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java进行数字计算 BigDecimal计算(加减乘除)

    Double只能处理16位有效数精度,在某些情况下精度对其需求是不够的,所以就有了BigDecimal。因为BigDecimal的精度范围的范围大,所以在问我们的开发业务中对精度要求高的属性,就需要BigDecimal来进行存储计算,防止精度丢失。这里我主要介绍一下BigDecimal的加,减,乘,除。四

    2023年04月08日
    浏览(40)
  • 【Java】——实现可视化加减乘除计算器

    🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL:数据结构_IT闫的博客-CSDN博客 🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客 💎C++:C++_IT闫的博客-CSDN博

    2024年02月05日
    浏览(44)
  • JAVA中char类型加减乘除运算表达式返回类型

    我们都知道java中,如果char类型和int类型做加减法,那么char类型会被精度提升至int类型然后参与运算,返回的也是int类型的数据。 那么如果表达式中参与运算的 均为char类型 ,那么表达式返回的类型是什么呢? 经过简单测试,是 int类型 。 这个问题是在调用StringBuilder.appen

    2024年02月08日
    浏览(59)
  • 加减乘除简单吗?不,一点都不,利用位运算实现加减乘除(代码中不含+ - * /)

    这也是阿辉开的新专栏,知识将会很零散不成体系,不过绝对干货满满,今天这一篇 利用位运算实现加减乘除 费了阿辉九牛二虎之力,干的很自备饮水😆不多bb,进入今天的学习吧!!! 以下int均为有符号int,所求的加减乘除也是int类型的整型数 严谨 😏 在写加减乘除之前

    2024年02月03日
    浏览(45)
  • 高精度(加减乘除)

    高精度的核心思想就是利用数组去储存大数,然后通过模拟手动计算的方式,来进行计算。 主要分三个模块: 1.读入数据并转换为(int)类型储存 核心思想:将每个位上的数字都+起来,如果大于10就进位。 核心代码如下: 完整代码及解析如下: 减法核心:只使用大数减小数

    2024年02月08日
    浏览(49)
  • bigdecimal加减乘除运算

    打印的结果如下: 打印结果如下: 打印结果如下:

    2024年02月11日
    浏览(47)
  • C语言加减乘除运算

    加减乘除是常见的数学运算,C语言当然支持,不过,C语言中的运算符号与数学中的略有不同,请见下表。 加法 减法 乘法 除法 求余数(取余) 数学 + - × ÷ 无 C语言 + - * / % C语言中的加号、减号与数学中的一样,乘号、除号不同;另外C语言还多了一个求余数的运算符,就是

    2024年02月06日
    浏览(44)
  • 图像四则运算(加减乘除)

    实验目的: 1.了解图像的算术运算在数字图像处理中的初步应用。 2.体会图像算术运算处理的过程和处理前后图像的变化。 3.能够实现简单的图像处理 实验原理: 图像的代数运算包括加,减,乘,除,这些运算的主要对象是图像数据块中的数据。这四种代数运算可以由如

    2024年02月08日
    浏览(52)
  • 只使用位运算实现加减乘除

    在线OJ: LeetCode 29. 两数相除 原题目的要求是不能使用乘法, 除法和取余运算符实现除法. 在本篇博客中把题目要求提高一点, 这里只使用位运算来实现, 顺便的也就把只使用位运算实现加减乘除实现了. 首先我们需要知道两数之和可以是两个数位相加和不进位相加之和, 而两数进

    2024年02月06日
    浏览(50)
  • Rust 复数运算,重载加减乘除运算

    复数定义 由实数部分和虚数部分所组成的数,形如a+bi 。 其中a、b为实数,i 为“虚数单位”,i² = -1,即虚数单位的平方等于-1。 a、b分别叫做复数a+bi的实部和虚部。 当b=0时,a+bi=a 为实数; 当b≠0时,a+bi 又称虚数; 当b≠0、a=0时,bi 称为纯虚数。 实数和虚数都是复

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包