6. n!程式設計
using System.Numerics;
while (true)
{
Console.Write("n=");
int n = int.Parse(Console.ReadLine());
BigInteger ans = new BigInteger(1);
for (int i = 2; i <= n; i++)
ans *= i;
Console.WriteLine(ans.ToString());
var backup = ans;
int sum = 0;
while (ans != 0)
{
sum += (int)(ans % 10);
ans /= 10;
}
Console.WriteLine(sum.ToString());
int k = 2;
int s = 0;
ans = backup;
while (ans != 1)
{
if (isPrime(k) && ans % k == 0)
{
ans /= k;
s++;
}
else k++;
}
Console.WriteLine(s);
Console.WriteLine();
}
bool isPrime(int n)
{
for (int i = 2; i < Math.Sqrt(n); i++)
{
if (n % i == 0 && n != i) return false;
}
return true;
}
Last updated