Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 仅使用加法将数字提高到幂_C#_Addition - Fatal编程技术网

C# 仅使用加法将数字提高到幂

C# 仅使用加法将数字提高到幂,c#,addition,C#,Addition,我试图用加法将一个数字提升为幂,但它不起作用,它只会提升一个比原来大的数字。下面是我的代码: private void ExpOperation() { result = 0; num01 = Int32.Parse(inpu01.Text); num02 = Int32.Parse(inpu02.Text); int a = num02; num02 = num01; int i = 1;

我试图用加法将一个数字提升为幂,但它不起作用,它只会提升一个比原来大的数字。下面是我的代码:

private void ExpOperation()
    {
        result = 0;
        num01 = Int32.Parse(inpu01.Text);
        num02 = Int32.Parse(inpu02.Text);
        int a = num02;
        num02 = num01;
        int i = 1;


        while (i <= a)
        {
            result = SimpleMulti(num01,num02);
            num01 = result;
            i++;
        }
        result_Text.Text = result.ToString();
    }
    private int SimpleMulti (int num1, int num2)
    {
        int c = 0;
        int i = 1;
        while (i <= num2)
        {
            c += num1;
            i++;
        }
        return c;
    }
private void ExpOperation()
{
结果=0;
num01=Int32.Parse(inpu01.Text);
num02=Int32.Parse(inpu02.Text);
int a=num02;
num02=num01;
int i=1;
而(i
private intsimplemulti(intx,inty)
{
int product=0;//乘法的结果
对于(inti=0;i
private intsimplemulti(intx,inty)
{
int product=0;//乘法的结果

对于(int i=0;i我认为这个问题与这个站点的主要原因不太相关,但是我得到了一个解决方案:

public long ExpOperation(int a, int b)
{
    long result = 0;
    long temp = 0;
    for (int i = 1; i <= b; i++) // Executes a full loop when we have successfully multiplied the base number "a" by itself
    {
        for (int j = 1; j <= a; j++) // Increase the result by itself for a times to multiply the result by itself
            result += temp;
        temp = result:
    }
    return result;
}
公共长指数运算(inta,intb)
{
长结果=0;
长期温度=0;

对于(int i=1;i我认为这个问题与这个站点的主要原因不太相关,但是我得到了一个解决方案:

public long ExpOperation(int a, int b)
{
    long result = 0;
    long temp = 0;
    for (int i = 1; i <= b; i++) // Executes a full loop when we have successfully multiplied the base number "a" by itself
    {
        for (int j = 1; j <= a; j++) // Increase the result by itself for a times to multiply the result by itself
            result += temp;
        temp = result:
    }
    return result;
}
公共长指数运算(inta,intb)
{
长结果=0;
长期温度=0;

对于(int i=1;i,因为x^y=x*x^(y-1),它可以递归求解。由于所讨论的
SimpleMulti
返回整数,我假设基和指数都是非负整数

private static int PowerWithAddition(int x, int y)
{
    if(y == 0){
        return 1;
    }

    var y1 = PowerWithAddition(x, y - 1);
    var sum = 0;
    for (int i = 0; i < y1; i++)
    {
        sum += x;
    }

    return sum;
}
private static int PowerWithAddition(int x,int y)
{
如果(y==0){
返回1;
}
var y1=功率加成(x,y-1);
var总和=0;
对于(int i=0;i
因为x^y=x*x^(y-1)可以递归求解。因为所讨论的
SimpleMulti
返回整数,我假设基和指数都是非负整数

private static int PowerWithAddition(int x, int y)
{
    if(y == 0){
        return 1;
    }

    var y1 = PowerWithAddition(x, y - 1);
    var sum = 0;
    for (int i = 0; i < y1; i++)
    {
        sum += x;
    }

    return sum;
}
private static int PowerWithAddition(int x,int y)
{
如果(y==0){
返回1;
}
var y1=功率加成(x,y-1);
var总和=0;
对于(int i=0;i
请为您的答案提供说明。这将帮助其他人了解您的解决方案是如何工作的。请为您的答案提供说明。这将帮助其他人了解您的解决方案是如何工作的。您需要更好的命名约定,我无法根据您的代码判断哪一个是指数您需要更好的命名约定,我无法判断哪一个是指数这是基于代码的指数