读书人

c# 怎么计算百分比

发布时间: 2013-07-04 11:45:28 作者: rapoo

c# 如何计算百分比
如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

这不是小学数学题吗。
[解决办法]
GOOGLE : C# 最大公约数
[解决办法]

引用:
Quote: 引用:

如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

也就是最大公约数

分子和分母除掉最大公约数,再显示出来
[解决办法]
最大公约都有了,你的百分比不就差一步了么,

计算一下就行了
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

也就是最大公约数

但是我不要最大公约数,我只要除以最大公约数后的值

知道最大公约数了,再除一下又不会怀孕。
[解决办法]
两个数的百分比和最大公约数是两码事
学校应该教过你用辗转相除法将十进制转二进制吧,它也可以用来求最大公约数
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

也就是最大公约数

但是我不要最大公约数,我只要除以最大公约数后的值

知道最大公约数了,再除一下又不会怀孕。

赞一个,这么简单的问题都想不明白。
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:


如题,我有一些数字,如2800*3200,500*600.......
我想算出来他们的百分比,2800*3200就是7:8 500*600 就是 5:6
求解答

也就是最大公约数

但是我不要最大公约数,我只要除以最大公约数后的值

知道最大公约数了,再除一下又不会怀孕。

c# 怎么计算百分比
[解决办法]

static void Main(string[] args)
{
int m = 2800, n = 3200;
int r = 1;//余数
if (m < n)
{
Console.WriteLine(GetGCM(n, m,out r));
}
else
{
Console.WriteLine(GetGCM(m, n, out r));

}
Console.ReadLine();
}

/// <summary>
/// 求a,b最大公约数
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <param name="r"></param>
/// <returns></returns>
static int GetGCM(int a, int b,out int r)
{
r = a % b;
if (r == 0)
{
return b;


}
else
{
a = b;
b = r;
return GetGCM(a, b, out r);
}
}

/// <summary>
/// 求a,b最大公约数
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
/// <param name="r"></param>
/// <returns></returns>
static int GetGCM1(int a, int b, out int r)
{
r = a % b;
if (r == 0)
{
return b;
}
else
{
while (r != 0)
{
a = b;
b = r;
r = a % b;
}
return b;


}
}


[解决办法]
 private void button1_Click(object sender, EventArgs e)
{
int first = Convert.ToInt32(this.textBox1.Text);
int second = Convert.ToInt32(this.textBox2.Text);
int result = MaxY(first, second);
MessageBox.Show("最大公约数是:"+result + "_" + first / result + ":" + second / result);
}

static int MaxY(int firstNumber, int secondNumber) //求最大公约数的函数
{
int max = Max(firstNumber, secondNumber);
int min = Min(firstNumber, secondNumber);
int r = max % min;
if (r == 0) //如果把最大的除以最小的数,余数r为0的话,表示min就是最大公约数
{
Console.WriteLine("最大公约数是{0}", min);
return min;
}
else //如果余数r不等于0,就把先前的min值当成最大值来用,把余数r当成先前的最小值来用
{ //一直不断的相除,直到余数r==0为止,这样就求出最大公约数


while (r != 0)
{
max = min;
min = r;
r = max % min;
}
return min;
}
}
static int Max(int firstNumber, int secondNumber) //求两个数的最大值
{
if (firstNumber > secondNumber)
{
return firstNumber;
}
return secondNumber;
}
static int Min(int firstNumber, int secondNumber) //求两个数的最小值
{
if (firstNumber > secondNumber)
{
return secondNumber;
}
return firstNumber;
}

读书人网 >C#

热点推荐