C 语言中不使用 POW 函数查找幂

2024年8月28日 | 阅读 4 分钟

pow() 函数用于计算给定整数的幂。现在,在本文中,我们将通过一个程序来了解如何在 C 语言中不使用 pow() 函数来计算整数的幂。

使用 for 循环确定给定整数的幂

假设您需要计算 a ^ b。最简单的方法是使用循环将 a 乘以 b 次。

  • 设输入为 a ^ b。a 是底数,b 是指数。
  • 从幂为 1 开始。
  • 使用循环,执行以下指令 b 次
  • power = power * a
  • 幂系统具有最终解 a ^ b。

让我们通过一个 C 语言程序示例更好地理解上述方法

输出

Enter Base: 5
Enter Power: 3
5 ^ 3 = 125
..........................
Process executed in 3.22 seconds
Press any key to continue.

说明

上面的代码时间复杂度为 O(N),其中 N 是指数。空间复杂度为 O(1)。

使用 While 循环

输出

enter the number and its exponential :
5
4
5 ^ 6 = 625 
..........................
Process executed in 0.11 seconds
Press any key to continue.  

说明

Long Long Int 是 Long Int 的两倍大。long long int 的格式说明符是 %lld。

使用递归查找给定整数的幂

假设输入是 a ^ b。每次递归调用,'a' 的幂将增加 1。为了得到 a ^ b,我们调用递归函数 b 两次。

  • 设 Pow (a, b) 是用于计算 a ^ b 的递归函数。
  • 如果 b == 0,则直接返回 1;否则,返回 Pow (a, b - 1) * a。

让我们通过一个 C 语言程序示例更好地理解上述方法

输出

Enter Base: 5
Enter Power: 4
5 ^ 4 = 625
..........................
Process executed in 1.22 seconds
Press any key to continue.

说明

在上面的 C 语言代码示例中,时间复杂度将是指数 N,O(N) 和 O(N) 空间复杂度,即内部栈。