【问题标题】:How to do base calculations without pow in C++?如何在 C++ 中不使用 pow 进行基本计算?
【发布时间】:2018-10-31 21:48:30
【问题描述】:

问题如下。但我不能使用 pow 或 print。到目前为止,我们只学习了 if、loops 和 cout。

使用 for 循环,编写代码来计算一个 int 的结果,该结果是另一个 int 的幂。例如,您的 for 循环应该使用两个变量,一个用于基数,一个用于指数。然后它应该计算提高到指数的底数。 2 的 2 次方应该输出 4,2 提高到 8 应该输出 256,等等。确保您的代码满足这些要求,然后将其粘贴到下面的响应部分:

包含基础变量 包含指数的变量 使用 for 循环执行幂函数 将结果输出到控制台窗口

我做到了这一点,但无法弄清楚如何进行基本计算。我运行它时只得到 4 个

int n = 3;
int p = 4;
int e = 1;
int i = 1;
for (i = 1; i <= p; i++)
{
    e = e * n;
}
cout << p;

编辑:我想通了,然后变成了这样

int base {2};
int exponent {10};
int output {1};

for(int i=0; i<exponent; i++)
{
    output *= base;
}
std::cout << output << "\n";

【问题讨论】:

  • 在调试器中单步执行代码说明您可能会出错?
  • 我将 cout 更改为 e 但现在,结果显示为 81。如果 its p. Debugger doesnt 告诉我任何错误,我需要将数字的底数相乘 4*4*4*4
  • 您似乎想要计算 3^4 = 3*3*3*3 或 4^3 = 4*4*4。请详细说明您的问题。
  • 如果您单步执行代码并在每行执行时检查变量,调试器将准确地显示问题所在。
  • 我只需要做我在上面最初的问题中写的。不过我现在我m getting 81 which is not the results for anything Im在找

标签: c++ base pow


【解决方案1】:

你需要cout

【讨论】:

  • 已修复。现在,结果显示 81。如果它是 p,我需要将数字的底数乘以 4*4*4*4
  • @CryptoBoy 嗯... 3^4 是 81(你的代码计算 n^p)
  • 哦,我现在明白了。我认为这会做到。非常感谢
【解决方案2】:

我会大胆猜测,但你应该使用

cout << e;

您正在打印错误的变量:p。您拥有的代码应该可以正常工作。

【讨论】:

  • 已修复。现在,结果显示 81。如果它是 p,我需要将数字的底数乘以 4*4*4*4
猜你喜欢
  • 2017-04-11
  • 2021-02-16
  • 2020-09-08
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多