zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【NOIP2013】花匠
    【DP合集】tree-knapsack
    【DP合集】m-knapsack
    【DP合集】背包 bound
    【DP合集】合并 union
    【DP合集】棋盘 chess
    BZOJ1026 [SCOI2009]windy数
    最长上升子序列 LIS nlogn
    再谈线性基
    数论问题算法模板
  • 原文地址:https://www.cnblogs.com/chenyongblog/p/3377848.html
Copyright © 2011-2022 走看看