目录
一、不用加减乘除做加法
(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; } }
二、三角形
(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"); } } } }
文章来源:https://www.toymoban.com/news/detail-415239.html
文章来源地址https://www.toymoban.com/news/detail-415239.html
到了这里,关于【Java版oj】day27不用加减乘除做加法、三角形的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!