当前位置: 首页 > news >正文

服务器做网站配置怎样更新网站

服务器做网站配置,怎样更新网站,h5网站开发培训机构,广州网站建设方案案例目录 题目 注意: 示例 1: 示例 2: 提示: 题目解析 题目思路 代码思路 数据处理 注意 减法函数 第一次使用的函数 问题 第二次改良后的代码 处理i的值并且返回 总代码 力扣的代码 注意 题目 给你两个整数,被除数 dividend 和…

目录

题目

注意:

示例 1:

示例 2:

提示:

题目解析

题目思路

代码思路

数据处理

注意

减法函数

第一次使用的函数

问题

第二次改良后的代码

处理i的值并且返回

总代码

力扣的代码

注意


题目

给你两个整数,被除数 dividend 和除数 divisor。将两数相除,要求 不使用 乘法、除法和取余运算。

整数除法应该向零截断,也就是截去(truncate)其小数部分。例如,8.345 将被截断为 8 ,-2.7335 将被截断至 -2 。

返回被除数 dividend 除以除数 divisor 得到的  。

注意:

假设我们的环境只能存储 32 位 有符号整数,其数值范围是 [−231,  231 − 1] 。本题中,如果商 严格大于 231 − 1 ,则返回 231 − 1 ;如果商 严格小于 -231 ,则返回 -231 。

示例 1:

输入: dividend = 10, divisor = 3
输出: 3
解释: 10/3 = 3.33333.. ,向零截断后得到 3 。

示例 2:

输入: dividend = 7, divisor = -3
输出: -2
解释: 7/-3 = -2.33333.. ,向零截断后得到 -2 。

提示:

  • -231 <= dividend, divisor <= 231 - 1
  • divisor != 0
    	if (dividend == 0)return 0;if (divisor == 1)return dividend;if (divisor == -1){if (dividend > INT_MIN) return -dividend;// 只要不是最小的那个整数,都是直接返回相反数就好啦return INT_MAX;// 是最小的那个整数,都是直接返回最大值}

题目解析

这是一个让你不用除法来实现除法的题目

很奇怪,代码中不能直接或者间接的用除法,乘法,以及求余

题目思路

由于还可以用减法以及加法

这时候可以想到小学的知识

除法的本质就是看在被除数中有几个除数

我们可以用减法来依次减去就可以了

代码思路

越界的情况

首先我们要判断给出的值越界的情况

	if (dividend == 0)return 0;if (divisor == 1)return dividend;if (divisor == -1){if (dividend > INT_MIN) return -dividend;// 只要不是最小的那个整数,都是直接返回相反数就好啦return INT_MAX;// 是最小的那个整数,都是直接返回最大值}

数据处理

之后我们判断除数与被除数之间的的符号关系并且记录下来

并且为了方便结算全部取绝对值

	long long i = 0;//判断是否异号long long sum_1 = (long long)dividend * divisor;//取绝对值if (dividend < 0)dividend = -dividend;if (divisor < 0)divisor = -divisor;

注意

这里的long long的数据类型是为了防止给出的数据相乘后越界,并且把其中“i”变量的值记录下来用于返回

减法函数

第一次使用的函数

原来是用这个函数的

	while (dividend >= divisor){dividend=dividend-divisor;i++}

问题

运行时间可能会慢因为除数是21亿并且除数是2的话要运行10亿次

第二次改良后的代码

	while (dividend >= divisor){long long j = 1;long long sum_3 = divisor;while (dividend> sum_3 + sum_3){sum_3 = sum_3 + sum_3;j = j + j;}dividend = dividend - sum_3;i = i + j;}

这个实现方法就是

如果是144除以2第一步执行的是144-64第二步为80-64第三步为16-16

这样运行步骤会大大降低

处理i的值并且返回

	if (sum_1 < 0)i = -i;return i;

总代码

可以直接运行的代码

#include <iostream>
using namespace std;
int divide(long long dividend, long long divisor)
{if (dividend == 0)return 0;if (divisor == 1)return dividend;if (divisor == -1){if (dividend > INT_MIN) return -dividend;// 只要不是最小的那个整数,都是直接返回相反数就好啦return INT_MAX;// 是最小的那个整数,都是直接返回最大值}long long i = 0;//判断是否异号long long sum_1 = (long long)dividend * divisor;//取绝对值if (dividend < 0)dividend = -dividend;if (divisor < 0)divisor = -divisor;while (dividend >= divisor){long long j = 1;long long sum_3 = divisor;while (dividend> sum_3 + sum_3){sum_3 = sum_3 + sum_3;j = j + j;}dividend = dividend - sum_3;i = i + j;}if (sum_1 < 0)i = -i;return i;
}
int main()
{//可改传递的数据int a = divide(-2147483648, -3);cout << a << endl;return 0;
}

力扣的代码

力扣提交的代码

class Solution {
public:
int divide(long long dividend, long long divisor)
{if (dividend == 0)return 0;if (divisor == 1)return dividend;if (divisor == -1){if (dividend > INT_MIN) return -dividend;// 只要不是最小的那个整数,都是直接返回相反数就好啦return INT_MAX;// 是最小的那个整数,都是直接返回最大值}long long i = 0;//判断是否异号long long sum_1 = (long long)dividend * divisor;//取绝对值if (dividend < 0)dividend = -dividend;if (divisor < 0)divisor = -divisor;while (dividend >= divisor){long long j = 1;long long sum_3 = divisor;while (dividend> sum_3 + sum_3){sum_3 = sum_3 + sum_3;j = j + j;}dividend = dividend - sum_3;i = i + j;}if (sum_1 < 0)i = -i;return i;
}
};

注意

代码不难,注意越界的数据越界的问题

http://www.yayakq.cn/news/119227/

相关文章:

  • 国家和住房城乡建设部网站抑郁症状有哪些表现免费咨询
  • 网站业务员怎么给客户做方案网络推广网站程序
  • 在国外网站付款要怎么做淘宝网站小视频怎么做的
  • 儿童玩具商城网站建设页面设计工作内容自述
  • 一般网站服务器app怎样下载安装
  • 网站前台做哪些工作内容雄安做网站要多少钱
  • 青县网站制作怎么把自己笔记本做服务器做个网站
  • 百度站长平台快速收录怎么弄策划书标准格式
  • 校园网站cms下面哪个是h5轻设计平台
  • 做微信网站公司合肥商城网站建设
  • wordpress展示插件合肥官方网站优化费用
  • 专业的大连网站建设广州游戏开发公司有哪些
  • 帮助网站网站做优化花店网页设计模板
  • 制作一个网站大概要多少钱电脑优化
  • 网站建设开发ppt做暧暖爱视频每一刻网站
  • 中天银都建设集团网站游戏开发软件有哪些
  • 建设在线购物网站建设网站的意义 作用是什么
  • 用dw设计网站怎么做前端写一个页面多少钱
  • 深圳网站设计 工作室合肥网站优化
  • 扎实做好机构编制网站建设打开一个不良网站提示创建成功
  • 网站建设 黑龙江直播视频在线
  • 重庆市两江新区建设管理局网站网页制作特效代码大全
  • 商标设计网站免费wordpress主题是什么
  • 郑州公司网站开发深圳网络营销和推广渠道
  • 博兴做网站企业宣传册范例
  • 防止服务器上的网站被进攻安卓应用市场官方版下载
  • 长沙冠讯网络科技有限公司桔子seo
  • 地方生活门户网站有哪些wordpress两个头部
  • 现在手机网站用什么做的如何做电影网站赚钱吗
  • 海珠建网站多少钱广告设计公司营业执照