// --------------------------------------------------------------------------------------------------------------------
// <copyright file="Program.cs" company="Chimomo's Company">
// Respect the work.
// </copyright>
// <summary>
// The program.
// </summary>
// --------------------------------------------------------------------------------------------------------------------
namespace CSharpLearning
{
using System;
/// <summary>
/// The program.
/// </summary>
public static class Program
{
/// <summary>
/// The main.
/// </summary>
/// <param name="args">
/// The args.
/// </param>
public static void Main(string[] args)
{
string fac100 = Factorial(100).ToString("F0");
Console.WriteLine("The factorial of 100 is : {0}", fac100);
for (int i = 0; i <= fac100.Length - 4; i++)
{
string substr = fac100.Substring(i, 4);
if (CheckPrime(Convert.ToInt32(substr)))
{
Console.WriteLine("The expected result found and it is : " + substr);
return;
}
}
Console.WriteLine("No result as expected!!");
}
/// <summary>
/// The factorial.
/// </summary>
/// <param name="n">
/// The n.
/// </param>
/// <returns>
/// The <see cref="double"/>.
/// </returns>
public static double Factorial(int n)
{
double result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
return result;
}
/// <summary>
/// The check prime.
/// </summary>
/// <param name="n">
/// The n.
/// </param>
/// <returns>
/// The <see cref="bool"/>.
/// </returns>
public static bool CheckPrime(int n)
{
if (n == 1 || n == 2)
{
return true;
}
int squareRoot = Convert.ToInt32(Math.Sqrt(n));
for (int i = squareRoot; i > 1; i--)
{
if (n % i == 0)
{
return false;
}
}
return true;
}
}
}
// Output:
/*
The factorial of 100 is : 93326215443944100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
The expected result found and it is : 2621
*/
分享到:
相关推荐
求阶乘-c#编写的求阶乘的控制台应用程序,有利于锻炼初学者的逻辑思维能力。
求n!输出1-N的阶乘.c语言,一个.cpp文件
【C#】求大数阶乘,求大数阶乘_算法_C#
【问题描述】 数的阶乘定义为 N!=1 x 2 x 3 x ... N。对于任何给定的整数N,Z(N)指以十进制表示的N!的末尾零的个数。例如10!... x 100, 其中5的倍数为5, 10, …, 95, 100共20个,20个中有25的倍数
用C语言来实现1-10000的阶乘运算,克服了平常数据会溢出的问题。
C#递归计算求阶乘和求年龄实例源码 1、n!=n*(n-1)*(n-2)*......*3*2*1 n!=n*(n-1)! 2、 趣味问题——年龄。有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个...
02-求阶乘
C#三个小程序 乘法运算 求阶乘和的运算 判断素数
功能: 本程序实现的是大数的阶乘,设计一个类calculate(),类中...于m的最小整数,数组的位数确定后,初始化数组令数组的第一个空间的 值为1,其他的均为0,将所得的结果一位一位的存进数组,倒序输出所 得的结果。
n的阶乘 c#n的阶乘 c#
NULL 博文链接:https://z-jls03.iteye.com/blog/830994
C#递归方法求阶乘字符串反转小程序,请将它复制并粘帖。
例3-15求阶乘
自己写的asp.net程序c#语言.计算n的阶乘源码.
java代码-解决求阶乘的问题java源代码 ——学习参考资料:仅用于个人学习使用
100阶乘100阶乘100阶乘100阶乘100阶乘100阶乘100阶乘100阶乘
用labview8.5对(m-n)求阶乘
百鸡问题 递归与非递归求最大公约数 斐波那契数列递归与非递归算法 递归与非递归求阶乘
C# 大数阶乘 源程序 用于计算10001以下所有整数的阶乘 删除程序输入数的大小限制 理论上 可用于计算的数可以无限大
该程序能求出0-2000的阶乘,使用链表实现,能动态的扩充存储结果。。。。。