`
wx1569567608
  • 浏览: 62632 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

.net中大数处理的一些算法思想

 
阅读更多
  在 .NET 开发中,有时会因为处理一些边缘学科的知识内容,如统计,金融,天文等计算,是加密解密算法
都会涉及到大数的运算,就是.net中最大数值类型储存了都会溢出的数,我的一个想法是计算时用数值类型,储
存(暂时)和输出时是字符串 那么储存时就需要BOX[n] n个数组来暂时储存一个计算中的小步骤结果,
'如一下例子
====================算法理解图=======================                       
'97*97*97*97*97                     = 8587340257                     box(1) = 587340257   box(2)=8
'97*97*97*97*97*97               = 832972004929                box(1) = 972004929   box(2)=832
'97*97*97*97*97*97*97         = 80798284478113             box(1) = 284478113   box(2)=80798
'97*97*97*97*97*97*97*97 = 7837433594376961         box(1) = 594376961   box(2)=7837433  
'97^ 9                                   = 760231058654565217     box(1) = 654565217   box(2)=760231058
'97^ 10                         = 73742412689492826049   box(1) = 492826049   box(2)=742412689 box(3)=73
     ……                                                  ……                                       ……                     ……
注意box 下表越大对应的数越高位在,在运用上面的算法时要记住
①先定义一个BOX的标志为几位,如上面是9位(根据需要和实际情况),
②由于计算习惯,很多人会从底位算起时{box(0 -> n)} 要先算box(n+1)位的数,在把box(n) 产生的进位数(如第一条计算box(1)向box(2)=0产生进位数8 box(2)+进位数 = 8 )进行处理,如以上时加法处理
③ 最好从高位算起,你将省去很多麻烦,box个数未知,没关系,用动态数组,满了时(最高下标box产生的进位数)再添一个
还有取模运算时,如果模数不大,也可以采用以上思想分段求模,再链接box得暂时结果,重新分配box(一定要从高位起重新截断)如被模数123456789123456789 设八位一个box   box(1)=89 box(2)=91234567 box(3)=12345678各box分别取模再联合(传统是123456789123456789 ÷ 333=370741108478849 模是72) 那么重新分配的盒子应该是box(1) =478849 box(2) =370741180 而不能是box(1) =370741180 box(2) = 478849 为什么? ∵从高位开始取模,box(n) 在被取模一次后如果不变,再次取模结果没变是box(n) = box(n) 程序将进入死循环
     另外一种涉及大数运算的情况式是 对A的n 次方后取模 (A ^n mod V ) 如果mod数不大可以(是n个A后结束)((A mod V)* A mod V) * A mod V …… 此算法不一定要用递归实现,简单的循环即可,最多两层嵌套循环
    最后忠告 :对一个大数进行加减乘除时千万别轻易的进行对被(加/减/乘/除)数因式分解,这种算法效率会很底

转载于:https://my.oschina.net/u/158055/blog/694463

分享到:
评论

相关推荐

    ASP.net中大结果集的分页

    ### ASP.NET中大结果集的分页技术解析 #### 引言 在现代Web应用程序开发中,处理大量的数据集并对其进行高效地分页显示是非常重要的技术之一。尤其是在使用ASP.NET框架进行开发时,如何优雅地处理数据库中的大量...

    基于PSO的云计算环境中大数据优化聚类算法.pdf

    该算法首先分析云计算环境中大数据的结构模型,通过计算大数据中离散样本的频谱特征,实现聚类样本的特征提取和信息模型构建。然后,引入混沌映射方法引导粒子避免陷入局部最优解,从而设计出一种粒子群优化算法,以...

    《网络程序设计(ASP.NET) 》发中大资料

    本资料集《网络程序设计(ASP.NET) 》发中大资料,显然是一份关于ASP.NET技术的综合学习资源,涵盖了该领域的核心概念、开发技巧和实际应用。 在ASP.NET中,开发者可以选择多种编程语言,如C#或VB.NET,来编写网页...

    大文件上传 带进度条 asp.net

    总结来说,这个项目实现了在ASP.NET中大文件的分块上传,并通过进度条实时反馈上传状态。它利用了ASP.NET控件、文件流操作、AJAX异步通信和客户端脚本来提供这一功能。对于开发者来说,理解和实现这样的功能有助于...

    车辆导航系统中大区域路径规划算法的设计与实现

    车辆导航系统中大区域路径规划算法的设计与实现

    新中大SE报表处理操作手册

    新中大SE报表处理操作手册主要涵盖了如何在新中大软件中进行财务报表和管理类报表的编制。这个系统提供了一套完整的流程,包括报表的登录、新建、修改、计算以及查询打印等环节。 首先,登录报表处理系统是操作的...

    在ASP.NET 2.0中操作数据之二十五:大数据量时提高分页的效率

    总结,提高ASP.NET 2.0中大数据量分页的效率主要依赖于自定义分页策略,包括编写高效的SQL查询(如使用存储过程和SQL Server 2005的分页关键字),以及在DAL和BLL中实现相应的数据获取方法。这种优化方法在处理大量...

    asp.net String.format中大括号的加入方法

    然而,在使用过程中,如果模板中包含大括号({}),可能会遇到一些特殊的问题,因为大括号在`String.Format`中具有特殊的含义。本文将详细解释这个问题以及如何正确地在`String.Format`中添加大括号。 `String....

    asp.net mvc 大文件分片上传

    本文将深入探讨ASP.NET MVC中大文件分片上传的实现机制、步骤以及如何实现文件合并与进度显示。 1. 分片上传原理: 分片上传的基本思路是将大文件切割为多个固定大小的片段,每个片段作为一个独立的文件上传到...

    智慧校园建设中大数据处理技术的应用研究.pdf

    智慧校园建设是教育信息化发展的重要方向,它依赖于强大的大数据处理技术来实现资源的高效利用和智能化管理。大数据处理技术在智慧校园建设中的应用,可以极大地提升学校教育管理效率和教育质量,为师生提供更加个性...

    cropzoom_jQuery插件_上传头像裁剪_asp.net_php

    《cropzoom_jQuery插件...总的来说,`cropzoom`插件是实现上传头像裁剪功能的优秀选择,其强大的功能和易用性使得它在asp.net和php开发中大受欢迎。通过理解其工作原理和合理集成,开发者可以为用户提供更优质的服务。

    两数中大的一个

    两数中大的一个

    ASP.NET 大文件上传组件

    ASP.NET 大文件上传组件是Web开发中一个重要的技术组件,尤其在处理用户需要上传大量或大体积数据的场景下。在传统的ASP.NET框架中,由于HTTP协议的限制,单个文件上传大小通常受到默认2MB的限制。为了突破这个限制...

    新中大财务备份软件的解压/压缩工具

    其窗口化的操作界面使得用户能够更加便捷地进行文件的处理,无需深入理解底层的压缩算法和文件格式。 首先,让我们关注解压缩过程。*.tx_文件是一种特殊格式的压缩文件,它可能包含了新中大财务软件的数据、配置...

    新中大报表处理系统操作指南.doc

    新中大报表处理系统操作指南.doc

    asp.net NeatUpload大文件上传

    NeatUpload解决Asp.net中大文件上传的问题的组件,支持进度条显示、上传过程中取消,当前版本为1.3.21。 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的...

    移动通信网络中大数据处理的关键技术.pdf

    移动通信网络中大数据处理的关键技术所涉及的知识点较为丰富,主要可以分为以下几个方面: 一、大数据技术概述 1. 数据发展阶段 文章提出了中国数据发展的三个阶段,分别是被动产生阶段、主动产生阶段和自动产生...

    新中大报表公式指导

    该系统覆盖了报表管理、报表制作、公式定义、自动计算、表间取数、格式转换、比较分析、平衡校验、批处理、同类汇总及数据传输等多项核心功能。 #### 二、报表处理系统界面与操作 报表处理系统界面直观,主窗口...

    纺织行业数据处理过程中大数据技术的选择与应用.pdf

    在讨论纺织行业数据处理过程中大数据技术的选择与应用时,我们可以从以下几个关键知识点展开详细的探讨: 1. 纺织行业数据种类及重要性 纺织行业不仅涉及传统的生产数据,还包括了经济运行数据、海关进出口数据、...

Global site tag (gtag.js) - Google Analytics