For loop 用c+对数字进行平方运算+; P> >好的,我将通过C++的BjARN StruouStruts书,他的一个练习要求我不用乘法运算就计算一个数的平方。我开始使用的锅炉板代码是一个名为square的函数,类型为int,参数x为int,代码块为return x*x;很简单。所以我想了想,我知道我需要一个循环,我知道这可能是一个for循环。我知道我想让循环听起来像这样,加上x到x,循环这个x的值乘以x。我刚开始用C++,所以我不知道如何创建循环。有什么想法吗?

For loop 用c+对数字进行平方运算+; P> >好的,我将通过C++的BjARN StruouStruts书,他的一个练习要求我不用乘法运算就计算一个数的平方。我开始使用的锅炉板代码是一个名为square的函数,类型为int,参数x为int,代码块为return x*x;很简单。所以我想了想,我知道我需要一个循环,我知道这可能是一个for循环。我知道我想让循环听起来像这样,加上x到x,循环这个x的值乘以x。我刚开始用C++,所以我不知道如何创建循环。有什么想法吗?,for-loop,math,visual-c++,int,perfect-square,For Loop,Math,Visual C++,Int,Perfect Square,在你的情况下,b=2 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 += inc

在你的情况下,b=2

 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;
    }
intpow(inta,intb)
{
如果(b==0)
返回1;
int-answer=a;
int增量=a;
int i,j;
对于(i=1;i
所以这个问题的重点其实就是制作你自己的乘法函数。有几种方法可以做到这一点。您可以递归地(我个人认为这是最简单的)或通过循环来完成。 递归地:

int mult(int a, int b){

    if (b == 0) {
        return 0;
    }

    b -= 1;

    return (a + mult(a, b));
}

int power(int base, int deg){
    if (deg == 0) {
        return 0;
    }

    deg-=1;

    return mult(base, base)+power(base, deg);
}
或者像@Cris在上面所做的那样,不使用嵌套for循环进行递归:

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;
    }
intpow(inta,intb)
{
如果(b==0)
返回1;
int-answer=a;
int增量=a;
int i,j;
对于(i=1;i
阅读手册?如果你只需要为问一个问题,你会问很多问题。读一本手册,如果你有问题就回来。老兄,尝试在电话上编辑评论真的很糟糕。我放弃。。。很遗憾,你也不能在手机上删除评论。要求你这样做的章节应该包含你需要的信息…相关问题:谢谢你的回答,我在老师的帮助下找到了答案。