(函数分治法)实现pow函数(x的y次方幂)
2024-08-31 22:35:05
- 题目:实现pow函数。
- 题目分析:因为一个一个乘,循环太大,参考矩阵连乘问题:对于n=4的话,可以得出x的平方,然后平方与平方相乘。节省计算次数。对于偶数的幂,只要x的平方多次递归调用即可;对于奇数的幂,只要n-1,就又变成偶数的幂的形式了,无非就是多乘一个x的问题。
- 代码:
class Solution {
public:
//分治法:分而治之
double pow(double x, int n) {
if (n < )
return 1.0/power(x, -n);
else
return power(x, n);
}
double power(double x, int n) {
if (n == )
return ;
double result = ;
double temp = pow(x, n/);//递归的处理相乘的幂,重复利用已经的出来的值。
if (n% == )
result = x * temp * temp;//当幂为奇数的时候,多乘一个就变为偶数问题了。
else
result = temp * temp;//当幂为偶数的时候,
return result;
}
};
最新文章
- x:bind不支持样式文件 或 此Xaml文件必须又代码隐藏类才能使用{x:Bind} 解决办法
- 使用WebRTC搭建前端视频聊天室——入门篇
- 解决ambiguous symbol命名空间中类名、变量名冲突的问题
- java机器学习工具包
- sublime text 如何设置”在浏览器浏览“的快捷键
- 【转】IOS高级教程1:处理1000张图片的内存优化
- 第一章 : javaScript框架分类及主要功能
- 奇异值分解(We Recommend a Singular Value Decomposition)
- C#算法基础之选择排序
- eclipse+ADT 进行android应用签名详解
- 推荐:PHPCMS v9 安全防范教程!
- 导航 - 利用系统自带的App导航
- STM32学习笔记——定时器中断(向原子哥学习)
- iframe - 基本用法
- 前端学习笔记(zepto或jquery)——对li标签的相关操作(三)
- css控制竖直文字显示
- SpringMVC上传压缩文件,解压文件,并检测上传文件中是否有index.html
- ##4.Glance 镜像服务-- openstack pike
- 如何将程序集安装到全局程序集缓存GAC
- Keras和tensorflow的区别