第十一周OJ-Q50解题方法
问题:
Implement pow(x, n).
从题目来看这是个有趣的问题。十分简短。然后我用了1分钟写出如下版本:
class Solution {
public:
double myPow(double x, int n) {
double res = 1;
for(int i = 0;i<abs(n);i++){
res *= x ;
}
return res;
}
};
然后,发现没有考虑负数。那我花了20秒改进成这样
class Solution {
public:
double myPow(double x, int n) {
double res = 1;
for(int i = 0;i<abs(n);i++){
res *= x ;
}
if(n<0){
return 1/res;
}
return res;
}
};
然后小数来了,我开始思考人生了。。
这个时候就可以用二进制来解决问题了,思路也比较简单。通过位运算和移位来完成计算,只要n移位后还没到1,x就自己乘自己。终于解决了问题。代码如下
class Solution {
public:
double myPow(double x, int n) {
double ret = 1;
if (n < 0){
n *= -1;
x = 1 / x;
}
while (n > 0){
if (n & 1) ret *= x;
x = x * x;
n >>= 1;
}
return ret;
}
};
第十一周OJ-Q50解题方法相关推荐
- c语言 星座运势,第十一周 OJ总结-日期妙算星座
Copyright (c) 2016, 烟台大学计算机与控制学院 All ringts reserved. 文件名称:OJ总结<4>-日期妙算星座 作 者:王兴振 完成日期:2016 ...
- 第十一周oj题目输出星座名称
问题及代码: /* 作者:夏晓林 时间:2016.11 输入:出生日期 输出:星座名称 */ #include <stdio.h> void constellation(int year, ...
- 第十一周OJ(2)判断三角形
*\ 烟台大学计算机与控制工程学院 作者:汪莹莉 完成日期:2016年11月14日 问题描述: 娄月的妹妹刘月是个初中生,某天回来兴高采烈的回家告诉姐姐他学 会了如何凭借三角形三边判断三角形的形状(设 ...
- 第十一周学习总结--助教
第十一周学习总结 一. 学习内容总结 1.都不难,在天梯上刷过题,看了书有相似的题,上机课就是改错题,真没什么难度. 二. 学习和作业中的问题和解决过程 1.无 三. 预习内容总结 继续往 ...
- 《Java程序设计》第十一周学习总结
20175334 <Java程序设计>第十一周学习总结 教材学习内容总结 第十三章 URL类 一个URL对象通常包含最基本的三部分信息:协议.地址.资源. URL对象调用 InputStr ...
- 2017-2018-1 20155204 《信息安全系统设计基础》第十一周学习总结
2017-2018-1 20155204 <信息安全系统设计基础>第十一周学习总结 教材学习内容总结 9.1物理和虚拟地址 物理地址:计算机系统的主存被组织成一个人由M个连续的字节到校的单 ...
- # 学号 2017-2018-20172309 《程序设计与数据结构》第十一周学习总结
---恢复内容开始--- 学号 2017-2018-20172309 <程序设计与数据结构>第十一周学习总结 教材学习内容总结 第23章 初识Android操作系统:一个多用户的Linux ...
- 20172310 2017-2018-2 《程序设计与数据结构》第十一周学习总结
20172310 2017-2018-2 <程序设计与数据结构>第十一周学习总结 作业要求 1.教材第23-26章(Java和Android开发学习指南) 代码托管到git@OSC,参考一 ...
- 2017-2018-1 20155327 《信息安全系统设计基础》第十一周学习总结
2017-2018-1 20155327 <信息安全系统设计基础>第十一周学习总结 教材学习内容总结 理解虚拟存储器的概念和作用 虚拟存储器(Virtual Memory),是硬件异常,硬 ...
- 201621123080《Java程序设计》第十一周学习总结
201621123080<Java程序设计>第十一周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线程 ...
最新文章
- 自考18年4月计算机应用基础,2019年自学考试计算机应用基础试题(18)
- POS机移动刷卡机自适应网站源码 dedecms织梦模板
- 版本管理器subversion的简单配置以及和apache的结合使用
- 计算机绘图设备cmy,《计算机图形学》练习测试题库
- 登录验证----滑块/拼图碎片/随机num
- CommandName 和 CommandArgument的区别
- java常用的排序方法
- PS怎么压缩图片大小而像素不变
- iNFTnews | 元宇宙浪潮下,企业正通过AR和VR技术改善客户体验
- 两个for循环写出大小写字母表
- 如何在两台服务器之间传输文件
- Opencv3基础操作3——图像形态学处理
- process on画流程图和思维导图总结
- 企业面试遇到的问题02
- 很久以前的一篇对初学Oracle建议的文章
- 对比面向对象和面向服务
- 程序员英语阅读学习笔记
- emq Node emq@ not responding to pings.
- 佳肴 (Standard IO)
- 彩虹代shua网仿小储云的模板 提前备份好数据
热门文章
- 高并发核心技术Redis系列(七)--------Jedis操作Redis
- ftp服务器怎样批量删除文件,ftp地址不能从快速访问中删除,其他的文件夹可以...
- JavaScript:Promise进阶知识
- 西北大学本科毕业论文答辩PPT模板
- google三大论文之--MapReduce:超大机群上的简单数据处理
- 公众号运营情况分析 DAY02(获取公众号文章阅读量、在看和评论内容)
- python表白玫瑰花绘制——情人节表白(亲测)
- RK3588平台开发系列讲解(文件系统篇)Linux 文件系统简介
- 不同平方的电线都能带动哪些家用电器
- Android反编译工具的使用-Android Killer