java基础编程题day27--每日两题

2023-11-08

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

目录

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

三角形__牛客网


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

链接:不用加减乘除做加法__牛客网
来源:牛客网

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

数据范围:两个数都满足 −10≤n≤1000-10 \le n \le 1000−10≤n≤1000
思路:
       
利用异或^和与&运算进行。

代码实现:

public class Solution {
    public int Add(int num1,int num2) {
        int ret = num1 ^ num2;//处理00 01 10
        int temp = (num1 & num2) << 1; //处理进位
        while(temp != 0){
            int retp = ret;
            ret = ret ^ temp;
            temp = (retp & temp) << 1;
        }
        return ret;
    }
}


三角形__牛客网

链接:三角形__牛客网
来源:牛客网
 

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

输入描述:

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

输出描述:

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

思路:
        题目中已说明,数值范围在1到10的100次方,此时已超过long类型的最大范围。因此需要使用BigInteger类型来解决该问题。

解决步骤:
        1.引入BigInteger类    import java.math.BigInteger;
        2.用nextBigInteger()方法去接收数值
        3.用add()方法进行相加
        4.用compareTo()方法进行比较大小,返回值为int类型

代码实现:

import java.util.Scanner;
import java.math.BigInteger;
public class Main{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNextBigInteger()){
            BigInteger a = scanner.nextBigInteger();
            BigInteger b = scanner.nextBigInteger();
            BigInteger c = scanner.nextBigInteger();
            if((a.add(b)).compareTo(c) > 0 && (b.add(c)).compareTo(a) > 0 
               && (a.add(c)).compareTo(b) > 0){
                System.out.println("Yes");
            }else{
                System.out.println("No");
            }
        }
    }
}

扩充一些方法:        

  • add(BigDecimal)

BigDecimal对象中的值相加,返回BigDecimal对象

  • subtract(BigDecimal)

BigDecimal对象中的值相减,返回BigDecimal对象

  • multiply(BigDecimal)

BigDecimal对象中的值相乘,返回BigDecimal对象

  • divide(BigDecimal)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java基础编程题day27--每日两题 的相关文章

随机推荐

  • 解决python安装模块时的“No module named setuptools“报错问题

    在利用python安装模块时利用python setup py install语句执行时 出现一下报错问题 简单来讲 该问题出现的原因就是 python默认是没有安装setuptools这个模块的 这也是一个第三方模块 所以在利用setup
  • SQL Server 本机 Web 服务的使用方案

    摘要 获得有关如何设置 SQL Server 以便在异类环境中进行 We
  • Angular中如何自定义模块

    为什么要自定义模块 当项目比较小的时候就可以不用自定义模块 但是当我们的项目庞大 并且需要把所有组件挂载到根模块里面时 Angular内置的模块就不是很合适了 因此遇到这样的情况 我们就可以使用自定义模块的方式来规划我们的项目 并通过Ang
  • ORB_SLAM3复现——上篇

    ORB SLAM3 前言 1 ORB SLAM3 2 准备环境 2 1 C 11 Compiler 2 2 Pangolin 2 3 Opencv 2 4 Eigen 3 复现ORB SLAM3 3 1 下载代码 3 2 执行build s
  • Vector的自动排序Sort

    建立了一个结构体 然后用容器进行存放 想对其进行排序 vector支持sort函数 但是需要自己指定排序函数 方法如下 1 需要包含头文件 include
  • 源码技术分享 计算机毕业设计逆天版Python+Spark智慧城市交通大数据 交通流量预测 交通爬虫 地铁客流量分析 大数据毕业设计 大数据毕设 深度学习 机器学习

    开发技术 前端 vue js websocket echarts element ui 后端 springboot mybaits 大数据组件 Spark 机器学习 深度学习 线性回归预测 KNN CNN等 数据库 mysql Spider
  • 开发人员必学!为什么说Flutter让移动开发变得更好?社招面试心得

    我 程序员 32岁 距离退休 只剩3年了 这句话用来形容2020年互联网行业最适合不过了 从18年开始 大大小小的互联网公司开始了不止一轮的裁员 19年网上开始充斥一类文章 专门写互联网公司超过35岁的人 如果到这个年龄 还不是leader
  • 西门子1200PLC与数控系统808D实现S7通信

    在机床自动化改造时 数控机床和PLC之间进行数据交互 实现数控机床自动控制的功能 需要使用支持的通讯协议或者硬件接线的方式实现 我们知道 西门子系列产品支持西门子S7通讯协议 如何通过西门子S7协议实现西门子1200PLC与数控系统808D
  • vue+iview+select二次封装,搜索,多选等功能封装

    前言 对iview的select下拉进行二次封装 基本上常用的参数和方法里面都有 下拉组件 cselect vue
  • c语言等待几秒执行下一步_C 语言实现协程

    C 语言实现协程 最困难的部分就是上下文信息的保存和还原 这样才能够做到 让协程在任意位置让出执行权限 稍后再恢复到中断位置继续执行 C 实现协程一般有几个方案 使用第三方库来保存恢复上下文数据 比如ucontext 使用汇编来保存上下文信
  • 图像加密笔记之arnold变换及matlab代码实现

    arnold变换 有时候也叫做阿诺德置乱 猫脸变换 Cat Map 因为提出这种算法的数学家拉基米尔 阿诺德最早将其应用于一张猫的图片上 arnold变换是图像加密领域的一个经典置乱算法 所谓置乱 就是打乱图片上各个像素点的位置 以消除原图
  • Eclipse中JavaFX Scene Builder的配置

    一般而言 启动Eclipse windows gt Preferences里面没有JavaFX选项 所以需要配置插件才能使用Scene Builde 一 配置Eclipse的新插件 1 在Eclipse中配置JavaFX 第一部打开Ecli
  • C++ socket通信详解

    Socket是什么 Socket是应用层与TCP IP协议族通信的中间软件抽象层 它是一组接口 在设计模式中 Socket其实就是一个门面模式 它把复杂的TCP IP协议族隐藏在Socket接口后面 对用户来说 一组简单的接口就是全部 让S
  • 解决如何使用layui导入Excel表数据

    解决如何使用layui导入Excel表数据 1 前端页面html代码展示
  • 【python基础知识】4.列表和字典

    文章目录 前言 列表 什么是列表 从列表提取单个元素 从列表提取多个元素 给列表增加 删除元素 数据类型 字典 什么是字典 从字典中提取元素 给字典增加 删除元素 列表和字典的异同 列表和字典的不同点 列表和字典的相同点 前言 截至目前 我
  • nmap 扫描主机端口(谨慎使用)

    安装nmap yum install nmap 输入y安装 使用nmap 语法 nmap 扫描类型 扫描参数 hosts 地址与范围 扫描类型 sT TCP connect 扫描 这是最基本的 TCP 扫描方式 这种扫描很容易被检测到 在目
  • C#根据WORD模板生成WORD文档 C#网页打印

    运行环境 WIN7 X64 iis6 1 开发环境 vs2012 SQL2005 服务器环境 2003 X64 SQL2005 IIS 6 0
  • 语义分割评价指标

    语义分割评估标准 常用的就是 global acc 有的地方叫PA mAcc 有的地方貌似叫MPA mIoU mIoU貌似用的是最最多的 很多论文在展示结果的时候都只个mIoU 下边这张图看不懂不用慌 指标的计算方法 混淆矩阵 1 glob
  • 2023年网络安全比赛--Web渗透测试国赛篇(超详细)

    一 竞赛时间 180分钟 共计3小时 二 竞赛阶段 竞赛阶段 任务阶段 竞赛任务 竞赛时间 分值 1 获取Apache的版本号作为Flag值 例如 5 2 14 提交 2 获取Samba服务器的版本号作为Flag值 例如 5 0 22 提交
  • java基础编程题day27--每日两题

    不用加减乘除做加法 牛客网 目录 不用加减乘除做加法 牛客网 三角形 牛客网 不用加减乘除做加法 牛客网 链接 不用加减乘除做加法 牛客网 来源 牛客网 写一个函数 求两个整数之和 要求在函数体内不得使用 四则运算符号 数据范围 两个数都满