1. 設計一程式能找出四位數或三位數之黑洞數
Console.Write("x1=");
int n = int.Parse(Console.ReadLine());
int max(string n)
{
List<char> k = new List<char>(n.ToCharArray());
k.Sort();
k.Reverse();
int res = 0;
for (int i = 0; i < k.Count; i++)
{
int a = (k[i] - '0');
res += a * (int)Math.Pow(10, k.Count - 1 - i);
}
return res;
}
int min(string n)
{
List<char> k = new List<char>(n.ToCharArray());
k.Sort();
int res = 0;
for (int i = 0; i < k.Count; i++)
{
int a = (k[i] - '0');
res += a * (int)Math.Pow(10, k.Count - 1 - i);
}
return res;
}
int k = 2;
while (n != 495 && n != 6174)
{
if (k != 2) Console.WriteLine();
int a = max(n.ToString());
int b = min(n.ToString());
n = a - b;
Console.Write($"x{k++}={a}-{b}={n},");
}
Console.Write("黑洞數=" + n);
Last updated