最近开始在刷剑指offer的题,前面刷的并没有记录在博客里,所以就从这道题开始记录吧,给大家讲解一下自己的思路 或是从别人那里学习过来自己看懂的程序 做一个简单的讲解。
题目描述:给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
解题思路:首先给我们的函数里会有一个double类型 一个int型的两个数,有double型当做底数,int当幂 所以首先应该对int 和 double的两个数的取值进行初步判断:
对于double base的取值:
可能为0或是非0,如果是非零则进行正常的运算,为零则抛出异常
对于int exponent的取值:
可能为0 ,负整数,正整数
为0:返回1;
为正数:从1到exponent循环 进行 base*base
为负数:从1到(-exponent)(负负得正) 循环进行base*base;
在程序的最后返回 return exponent>0?result:(1/result);
如果exponent为正数则返回最后的值,负数则取倒数
程序代码截图(自己敲一遍还是很好的):
剑指offer之数值的整数次方
最新推荐文章于 2021-07-14 21:10:18 发布