partovinia
دوشنبه 04 آبان 1394, 11:15 صبح
سلام. من می خوام برنامه ای بنویسم که یک عدد یک رقمی رو به توان یک عدد 50 رقمی برسونه !هر جورکد نوشتم خطای infinity دارم وهر جور هم کد رو می خوام تغییر بدم باز هم به همون خطا برمی خورم ...از شما دوستان راهنمایی می خوام ! کدم رو می ذارم ...
class CalculatePower
{
int myGrade = 0;
BigInteger myPower = 0;
///
///constructor to get values
///
public CalculatePower(int grade, BigInteger power)
{
myGrade = grade;
myPower = power;
}
/// <summary>
/// method to get values in array
/// </summary>
public string CalcPower(int grade, BigInteger power)
{
try
{
//BigInteger myMulFunction = 1;
//myMulFunction = (BigInteger)Math.Pow((double)myGrade, (double)myPower);
//return myMulFunction.ToString();
int divideCounter = 0;
string dividePowers = "";
BigInteger secondPower = myPower;
int i = 0;
//
while (secondPower > 1000)
{
secondPower = secondPower / 2;
dividePowers = secondPower.ToString();
divideCounter += 2;
i++;
}
//
double strpower = 0;
strpower = double.Parse(dividePowers);
dividePowers = Math.Pow(grade, strpower).ToString();
dividePowers = Math.Pow(double.Parse (dividePowers), divideCounter ).ToString();
return dividePowers;
}
catch (Exception ex)
{
return ex.Message;
}
}
class CalculatePower
{
int myGrade = 0;
BigInteger myPower = 0;
///
///constructor to get values
///
public CalculatePower(int grade, BigInteger power)
{
myGrade = grade;
myPower = power;
}
/// <summary>
/// method to get values in array
/// </summary>
public string CalcPower(int grade, BigInteger power)
{
try
{
//BigInteger myMulFunction = 1;
//myMulFunction = (BigInteger)Math.Pow((double)myGrade, (double)myPower);
//return myMulFunction.ToString();
int divideCounter = 0;
string dividePowers = "";
BigInteger secondPower = myPower;
int i = 0;
//
while (secondPower > 1000)
{
secondPower = secondPower / 2;
dividePowers = secondPower.ToString();
divideCounter += 2;
i++;
}
//
double strpower = 0;
strpower = double.Parse(dividePowers);
dividePowers = Math.Pow(grade, strpower).ToString();
dividePowers = Math.Pow(double.Parse (dividePowers), divideCounter ).ToString();
return dividePowers;
}
catch (Exception ex)
{
return ex.Message;
}
}