C#实现大数字的运算
1、添加引用:System.Numerics.dll
2、添加命名空间:using System.Numerics;
3、实例:
3.1判断一个数字是不是质数
static void Main(string[] args) { Console.WriteLine("请输入一个很大的数字:"); string bigNumber = Console.ReadLine(); BigInteger bigInteger = BigInteger.Parse(bigNumber); bool isNumber=false; for (BigInteger i = 2; i < BigInteger.Pow(bigInteger, 2);i++ ) { if (bigInteger % i == 0) { isNumber = true; break; } } if (isNumber) { Console.WriteLine("不是质数"); } else { Console.WriteLine("是质数"); } Console.ReadLine(); }
3.2实现两个大数的加减乘除
static void Main(string[] args) { Console.Write("请输入第一个大数字:"); string bigNum1 = Console.ReadLine(); BigInteger bigInt1 = BigInteger.Parse(bigNum1); Console.Write("请输入第二个大数字:"); string bigNum2 = Console.ReadLine(); BigInteger bigInt2 = BigInteger.Parse(bigNum2); Console.Write(Environment.NewLine); BigInteger addNum = bigInt1 + bigInt2; BigInteger subNum = bigInt1 - bigInt2; BigInteger purNum = bigInt1 * bigInt2; BigInteger divNum = bigInt1 / bigInt2; Console.WriteLine("两大数相加结果为:{0}",addNum); Console.WriteLine("两大数相减结果为:{0}",subNum); Console.WriteLine("两大数相乘结果为:{0}",purNum); Console.WriteLine("两大数相除结果为:{0}",divNum); Console.ReadLine(); }
4、这里我没有去深入如何实现大数字的运算,猜测可以用字符数组来完成 参考文章:http://www.codeproject.com/Articles/60108/BigInteger-Library