c++ - 如何在不使用乘除运算符的情况下计算 A 的 B 次幂?
问题描述
我需要在不使用乘法和除法运算符的情况下找到 A 的 b 次幂,只需幂 (a, b)
例如: pow ( 2, 3 ) = 8
我无法理解这段代码背后的直觉。
int pow(int a, int b)
{
if (b == 0)
return 1;
int answer = a;
int increment = a;
int i, j;
for(i = 1; i < b; i++)
{
for(j = 1; j < a; j++)
{
answer += increment;
}
increment = answer;
}
return answer;
}
解决方案
好吧,内部循环通过将 a 添加到自身 a 次来将其自身相乘。
外循环这样做 b 次
推荐阅读
- hide - 我如何从引用我的网站的 SimilarWeb 网站中隐藏?
- openedx - 导师打开 edX 命令
- python - 你好,我是一个。Django API 和 http GET 方法的初学者不起作用。它打印一个错误
- python - 为什么 super() 只调用 Parent1 类的构造函数而不调用 Parent2 类的构造函数?
- c - 是否可以暂时隐藏 linux 中任何系统调用的文件?
- azure-devops - 来自守护程序的错误响应:未经授权:需要身份验证
- python - 本地搜索 Jupyter 笔记本
- javascript - javascript (window).unload 不适用于某些 chrome 版本
- java - 如何在使用 Selenium Java 时传递条件变量?
- reactjs - 有没有办法为所有属性设置为 true 的元素添加一个类?