For loop 用c+对数字进行平方运算+; P> >好的,我将通过C++的BjARN StruouStruts书,他的一个练习要求我不用乘法运算就计算一个数的平方。我开始使用的锅炉板代码是一个名为square的函数,类型为int,参数x为int,代码块为return x*x;很简单。所以我想了想,我知道我需要一个循环,我知道这可能是一个for循环。我知道我想让循环听起来像这样,加上x到x,循环这个x的值乘以x。我刚开始用C++,所以我不知道如何创建循环。有什么想法吗?
在你的情况下,b=2For 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
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
阅读手册?如果你只需要为问一个问题,你会问很多问题。读一本手册,如果你有问题就回来。老兄,尝试在电话上编辑评论真的很糟糕。我放弃。。。很遗憾,你也不能在手机上删除评论。要求你这样做的章节应该包含你需要的信息…相关问题:谢谢你的回答,我在老师的帮助下找到了答案。