110,501
社区成员
发帖
与我相关
我的任务
分享
bool IsPrime(int n)
{
int sqrt = (int)Math.Ceiling(Math.Sqrt(n));
for (int i = 2; i <= sqrt; i++)
{
if (n % i == 0)
return false;
}
return true;
}
int[] FindNumber(int n)
{
while (IsPrime(n))
n++;
int sqrt = (int)Math.Floor(Math.Sqrt(n));
while (n % sqrt != 0)
sqrt--;
return new int[] { sqrt, n / sqrt };
}
// test
FindNumber(24); // 4,6
FindNumber(23); // 4,6
List<int> list = Enumerable.Range(1,24).ToList();
int cha = 0;
string s = "";
for (int i = 0; i < list.Count-1; i++)
{
for (int j = i + 1; j < list.Count; j++)
{
if (i * j == 24)
{
if (cha > Math.Abs(i - j))
{
s = i.ToString()+ "*"+ j.ToString();
}
else
cha = Math.Abs(i - j);
}
}
}
MessageBox.Show(s);