循环中的幂函数
Power function in a loop
我需要帮助写幂函数。所以,我需要写一个程序,这将输出一个表从1到10在一个循环电源。不使用能量或经验输出示例:
0^0 == 1
1^1 == 1
2^2 == 4
3^3 == 27
4^4 == 256
(and so on, up to)
10^10 == 10000000000
NOT USING Cmath (NO POW or EXP)
例如:
。Power(3.0, 5)将返回243,因为3*3*3*3*3 = 243例如,power(173,0)将返回1,因为任何数字的0次幂都是1。
我做了这个简单的循环,但是我不知道如何在其中插入幂公式。我还在考虑while循环
#include <iostream>
#include <string>
using namespace std;
int main(){
int number = 0, tot;
for (int table = 0; table < 10; table++)
{
tot = number * table;
cout << tot << endl;
number++;
}
}
这是一个递归函数,可以计算一个整数次幂
double power(double base, unsigned int exp)
{
if (exp == 0)
{
return 1.0;
}
else
{
return base * power(base, exp - 1);
}
}
这样做的迭代方法是
double power(double base, unsigned int exp)
{
double product = 1.0;
for (unsigned int i = 0; i < exp; ++i)
{
product *= base;
}
return product;
}
你可以用像
这样的东西来测试这两种方法int main()
{
std::cout << power(5, 3);
}
输出125
我想你现在已经知道你自己问题的答案了,但仍然;一些提示:
- 取幂是基数的重复乘法,重复次数由指数定义。
- 在c++或任何现代编程语言中,循环允许重复某些代码块:当迭代次数事先已知时,使用for循环,否则使用while循环。
结合两个提示:您需要使用循环来重复乘法;重复(或迭代)的数量是预先知道的,因此,for循环将是最好的。
int exponentiation(int base, int exponent) {
int result = 1;
for (int i = 0; i < exponent; ++i)
result = result * base;
return result;
}
注意:这只适用于带正指数的整数求幂!
你可以在for循环中调用这个函数,让它计算你想要的值:
#include <iostream>
int main(int argc, char** argv) {
for(int i = 0; i <= 10; ++i)
std::cout << exponentiation(i, i) << 'n';
}
相关文章:
- C++中的高效循环缓冲区,它将被传递给C样式数组函数参数
- 循环中的随机函数
- 当调用switch语句中的函数时(即使函数不包含循环),似乎是永不结束的循环的问题
- 未在函数C++中执行的循环
- 无穷大而循环时具有递归函数
- 当 A 在 for 循环中调用函数 B 时,如何计算函数 A 的空间复杂度?
- 用于在 C++ 中使用 while 循环查找下一个素数的简单函数
- 这个返回元素位置的基于循环的函数有什么问题?
- 接受线程 C++ 套接字中的函数循环
- 我需要做一个空函数循环回来,而不会让它崩溃或跳过
- 无限构造函数循环
- C 查找无SQRT函数循环故障的平方根
- 如何让我的checkLength函数循环,直到用户输入超过5个字符的密码
- 停止一个函数循环,然后恢复它们
- 使用链表函数循环
- C++模板元编程成员函数循环展开
- C++函数循环和if语句不起作用
- 在c++中使用递归函数循环遍历deque
- 互惠友元成员函数=循环包含声明
- c++验证函数循环在第一次迭代后返回相同的结果