知识大全 C#4.0提供BigInteger类 支持大数运算

Posted

篇首语:炒沙作縻终不饱,缕冰文章费工巧。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 C#4.0提供BigInteger类 支持大数运算相关的知识,希望对你有一定的参考价值。

C#4.0提供BigInteger类 支持大数运算  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  前段时间 有个同事说

  

  

  

  

  

  是个质数

  直觉告诉我 光是在中间加几个 在后面加个 估计不是质数

  有很多面试题 都会要面试者去做一些关于大数的运算 例如在这里就有判断上面这个数是不是质数的情况

  很明显 Integer Long都是不能来处理如此巨大的数的

  在 net framework 中 System Numerics dll 中提供了BigInteger 类 使用这个类可以很方便的解决这个问题

  判断n是质数的方法

   如果是偶数 肯定不是质数

   如果能够被小于或等于Sqrt(n) 的数除尽 则不是质数

  代码如下

private static bool IsPrime()    string largeNumber = @ ;    BigInteger bigInteger = BigInteger Parse(largeNumber);    if (bigInteger IsEven)            return false;        for (BigInteger bi = ; BigInteger Pow(bi ) <= bigInteger; bi += )            if (bigInteger % bi == )                    return false;                return true;

  本来for 循环中的代码应该是

for (BigInteger bi = ; bi <= BigInteger Sqrt(bigInteger); bi += )    if (bigInteger % bi == )            return false;      

  可惜的是BigInteger 不支持Sqrt方法 所以换用

for (BigInteger bi = ; BigInteger Pow(bi ) <= bigInteger; bi += )

   结果如下图

  可以知道 ………………………… 不是质数 可以被 除尽

   C语言中有道经典的题目是求 !后面有几个

  如果你不知道BigInteger的话 应该怎么做?

   ! 可以理解为 

  

  因为偶数比 要多 所以i值比j值多很多 所以求 !有多少个 可以认为是求j的值 

  当然也可以用公式

  Sum = [ / ]+[ /( ^ )]+[ /( ^ )]= + + = ;

  如果你既没有思路 也没有公式 脑子里面只有一个念头 * * * * * * 的for循环 然后统计 的数量的话 在 中也可以实现 虽然好像速度慢了点 不过也还是可以得到答案的

  代码如下

  

  统计的代码如下

  运行结果如下

int count = ;for (int i = strSum Length ; i >= ; i )    if (strSum[i] == )            count++;        else            break;    

  

cha138/Article/program/net/201311/11584

相关参考

知识大全 可以为“教育万能论”提供支持的心理学理论是()A精神分析理论B行为主义理论C人本主义理论D认知主义理论

可以为“教育万能论”提供支持的心理学理论是()A精神分析理论B行为主义理论C人本主义理论D认知主义理论  以下文字资料是由(本站网www.cha138.com)小编为大家

事故发生后,任何单位和个人都应当支持、配合事故救援,并提供()。

事故发生后,任何单位和个人都应当支持、配合事故救援,并提供()。A.资金B.器材C.人力D.一切便利条件【参考答案】D[拓展知识]生产经营单位事故隐患排查治理情况应当如实记录,并向()通报。A.当地安

事故发生后,任何单位和个人都应当支持、配合事故救援,并提供()。

事故发生后,任何单位和个人都应当支持、配合事故救援,并提供()。A.资金B.器材C.人力D.一切便利条件【参考答案】D[拓展知识]生产经营单位事故隐患排查治理情况应当如实记录,并向()通报。A.当地安

知识大全 Java BigInteger开方sqrt的实现

JavaBigInteger开方sqrt的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本

行政支持类事业单位,不包括下列哪项

行政支持类事业单位,不包括下列哪项?A、社会科学联合会B、社会科学院C、基础理论研究所D、城市公用方面的市政管理答案:D解析:按照事业单位的性质和特点,事业单位可以划分为行政支持类事业单位、社会公益类

知识大全 编写高效的线程安全类

 在语言级支持锁定对象和线程间发信使编写线程安全类变得简单本文使用简单的编程示例来说明开发高效的线程安全类是多么有效而直观  Java编程语言为编写多线程应用程序提供强大的语言支持但是编写有用的没有错

知识大全 C#4.0动态关键字与COM

C#4.0动态关键字与COM  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在我成为C/开发人员

直接承担政府行政职能,为政府服务,根据国家法律法规授权,受政府委托承担具体的行政行为或提供行政支持,从事监管、资质认证

直接承担政府行政职能,为政府服务,根据国家法律法规授权,受政府委托承担具体的行政行为或提供行政支持,从事监管、资质认证、执法监督等活动的准行政组织的事业单位是_____。A、行政决策类事业单位B、行政

《会计行业人才发展规划(2021—2025年)》提出,加强高端会计人才培训培养要求,各用人单位应鼓励和支持( )参加培训,并提供必要保障。

会计改革与发展十四五规划题目:《会计行业人才发展规划(2021—2025年)》提出,加强高端会计人才培训培养要求,各用人单位应鼓励和支持()参加培训,并提供必要保障。A、行政人员B、会计人员C、出纳人

上海世博会是继北京奧运会后我国举办的又一国际盛会,也是第一次在发展中国家举办的__世界博览会

上海世博会是继北京奧运会后我国举办的又一国际盛会,也是第一次在发展中国家举办的_____世界博览会。A、注册类B、许可类C、专业类D、比赛类答案:A解析:上海世博会是继北京奥运会后我国举办的又一国际盛