i want to split the power value
ex:11 pow 10 = (11 pow 7)(11 pow 3) like that i want to split the value
please help me

Recommended Answers

All 11 Replies

Something like this?

static void Main(string[] args)
        {
            int value = 11;
            int power = 8;
            Console.WriteLine(Math.Pow(value, power));
            Console.WriteLine(Math.Pow(value, 2)*Math.Pow(value, 6));

            Console.ReadKey();
        }

thank u ddanbe for your suggestion
i have to split the power value by coding itself.
suppose the power value is 33 then
split as 10,10,10,3
like wish i have to split the power value.

pls give some suggestion

Well, it is just the same :
Math.Pow(value, 33) = Math.Pow(value, 10) * Math.Pow(value, 10)* Math.Pow(value, 10) * Math.Pow(value, 3);
Because 10 + 10 + 10 + 3 = 33
If you like to refresh or study some rules on powers,look here

If you're wanting to do what I think you want to do; you want to split your power by units of ten and the remainder?

If so let's take your 33 as an example;

public void Method()
{
    int value = 6;
    int power = 33;

    int iterations = (int)Math.Floor(power / 10); // We want to lose the decimal point
    int remainder = power % 10; // This will return 3. As it returns the remainder of a division operation

    Double result = 1; // Important as we're going to muliply our results together. Starting from 0 would yield 0. Also, we're dealing with "power" so big numbers may result. In these cases, you need to use exponent notation.

    for(int currentIteration = 0;currentIteration < iterations; currentIteration++)
    {
        result = result * Math.Pow(value, 10);
    }

    result = result * Math.Pow(value, remainder);

    Console.WriteLine("Result is: {0}", result);
    Console.WriteLine("Actual   : {0}", Math.Pow(value, power));

    Console.ReadLine();
}

It's important to note, that you won't be able to display this in normal integer format for large numbers as the structures simply aren't big enough even with unsigned 64-bit addressing (unless you converted it to a string...)

Thank u Ketsuekiame for your suggestion.
its working perfect but i want non exponential format.
From above program,the result is return as exponent format but i want non exponent format(i.e)without exponential format.
Because decryption process want the actual data.

pls give some suggestion.

Hi csss, the only way to retrieve the numeric value is to use the BigInteger class. This will let you have a theoretically infinitely large number.

However, the caveat to this is that everything you use will be limited to a minimum of .NET 4 framework. If you cannot use .NET 4 or above I'm afraid you're out of luck.

Additionally, rather than use Math.Pow you will need to use BigInteger.Pow but this should work for you.

There is code for a biginteger class, if you need it, search the posts here for biginteger.

tinstaafl, I just did a search for a BigInteger class (not .net 4) and couldn't find anything. Do you have a link to the post in question? I'd be curious to see how they implemented it in C#

If you need to code your own biginteger look at ddanbe's last post here

It seems though we keep going in circles, csss gets good suggestions, and rather than implementing them, asks the same question a different way and gets the same suggestions.

commented: Thanks. Good reading :) +8

thank tinstaafl for your suggestion
the biginteger perform well for long value

once again thank you so much

you're welcome. please mark this solved, if you have what you need.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.