使用迭代计算幂
我基本上是在尝试重写 math.pow,我有以下显然我没有得到返回值的概念.我到底做错了什么?
I'm basically trying to rewrite math.pow, I have the following obviously I'm not getting the concept of returning values. What exactly am I doing wrong?
public static int power(int x, int n)
{
if (n == 0) return 1;
int i,total;
for(i = 0; i < n-1 ;i++);
{
total = (x * total);
}
return total;
}
推荐答案
需要初始化total为1.
You need to initialize total to 1.
int total = 1;
您可以将所有内容重写为:
You can just rewrite everything to:
public static int power(int x, int n)
{
int total = 1;
for(int i = 0; i < n; i++) // i can be declared here directly
{
total = (x * total);
}
return total; // total remains 1 if n = 0
}
相关文章