当前位置: 首页 > news >正文

郑州金水区网站建设开发者应用

郑州金水区网站建设,开发者应用,培训培训网站建设,商丘网站制作电话大数的#xff08;加减乘除#xff09;四则运算、阶乘运算。 乘法计算包括小学生算法、Karatsuba和Toom-Cook3算法。 重复了部分 19 课的代码。 1 文本格式 using System; using System.Linq; using System.Text; using System.Collections.Generic; /// summary… 大数的加减乘除四则运算、阶乘运算。 乘法计算包括小学生算法、Karatsuba和Toom-Cook3算法。 重复了部分 19 课的代码。 1 文本格式 using System; using System.Linq; using System.Text; using System.Collections.Generic; /// summary /// 大数的加减乘除四则运算、阶乘运算 /// 乘法计算包括小学生算法、Karatsuba和Toom-Cook3算法 /// /summary public static class BigInteger_Utility {     /// summary     /// 记录 加减乘除 的运算次数     /// /summary     public static int[] operations { get; set; } new int[] { 0, 0, 0, 0 }; /// summary     /// 《小白学程序》第十九课随机数Random第六随机生成任意长度的大数BigInteger     /// 一般可将超过9位数的数字成为“大数”。     /// 两个大数之间的四则运算用于密码学、高精度计算等应用。     /// 位数很多的浮点数可转为大数再逆转即可。     /// /summary     /// param namen/param     /// returns/returns     public static string rand(int n)     {         // 随机数发生器         Random rnd new Random();         StringBuilder sb new StringBuilder();         // 第一个数字不能为0故0-8之间的随机数 1 1-9         sb.Append((rnd.Next(9) 1).ToString());         // 后面 n-1 个数字为 0-9从 1 开始计数         for (int i 1; i n; i)         {             sb.Append((rnd.Next(10)).ToString());         }         return sb.ToString();     } /// summary     /// 字符串型的数字转为数组     /// 低位右在前比如 123 , n6 存为 3,2,1,_,_,_     /// n 可能大于 a 的长度剩余位置留出来用于 进位 等。     /// /summary     /// param namea/param     /// param namen最大位数后面留0/param     /// returns/returns     public static int[] string_to_digitals(string a, int n)     {         // 字符串 转为 “字符数组”         char[] c a.ToCharArray();         // 存储数字的数组         int[] d new int[n];         // 从最右端个位数字开始转存为数字数组参与后面的计算         for (int i a.Length - 1, j 0; i 0; i--)         {             // 跳过数字前面可能有的 - 号             if (a[i] -) continue;             // 0 字符是最小的数字字符             // 数值 字符 - 0             d[j] a[i] - 0;         }         return d;     } /// summary     /// 数组型数字转为字符串型     /// 低位右在前比如 3,2,1,_,_,_ 转为 123, n6     /// 这是前面 string_to_digitals 的反向计算函数     /// n 可能大于 d 的长度剩余位置留出来用于 进位 等。     /// /summary     /// param named/param     /// returns/returns     public static string digitals_to_string(int[] d)     {         int n d.Length;         // 数字数组 d 含有一些无效的数组         // 因此先从最右段开始去除无效的位置         int k n - 1;         //for (; (k 0) (d[k] 0); k--) ;         while ((k 0) (d[k] 0)) k--;         // 找到有效位置后开始组合字符串         if (k 0)         {             StringBuilder sb new StringBuilder();             for (; k 0; k--) sb.Append(d[k]);             return sb.ToString();         }         else         {             return 0;         }     } /// summary     /// 《小白学程序》第二十课大数BigInteger的四则运算之一加法     /// 大数加法 c a b     /// /summary     /// param namea/param     /// param nameb/param     /// returns/returns     public static string big_integer_plus(string a, string b)     {         int n Math.Max(a.Length, b.Length) 1;         // 位数不长的数字直接计算         if (n 18)         {             return (ulong.Parse(a) ulong.Parse(b)).ToString();         } int[] da string_to_digitals(a, n);         int[] db string_to_digitals(b, n); // 从低位右往高位左相加 #if _ORIGINAL__         for (int i 0; i (n - 1); i)         {             da[i] db[i];             if (da[i] 9)             {                 da[i] - 10;                 da[i 1] 1;             }         }         return digitals_to_string(da); #else         int[] dc new int[n];         Array.Copy(da, dc, n);         for (int i 0; i (n - 1); i)         {             dc[i] dc[i] db[i];             if (dc[i] 9)             {                 dc[i] - 10;                 dc[i 1] 1;             }         }         return digitals_to_string(dc); #endif } } 2 代码格式 using System; using System.Linq; using System.Text; using System.Collections.Generic;/// summary /// 大数的加减乘除四则运算、阶乘运算 /// 乘法计算包括小学生算法、Karatsuba和Toom-Cook3算法 /// 除法运算为 Truffer 自创算法 /// /summary public static class BigInteger_Utility {/// summary/// 记录 加减乘除 的运算次数/// /summarypublic static int[] operations { get; set; } new int[] { 0, 0, 0, 0 };/// summary/// 《小白学程序》第十九课随机数Random第六随机生成任意长度的大数BigInteger/// 一般可将超过9位数的数字成为“大数”。/// 两个大数之间的四则运算用于密码学、高精度计算等应用。/// 位数很多的浮点数可转为大数再逆转即可。/// /summary/// param namen/param/// returns/returnspublic static string rand(int n){// 随机数发生器Random rnd new Random();StringBuilder sb new StringBuilder();// 第一个数字不能为0故0-8之间的随机数 1 1-9sb.Append((rnd.Next(9) 1).ToString());// 后面 n-1 个数字为 0-9从 1 开始计数for (int i 1; i n; i){sb.Append((rnd.Next(10)).ToString());}return sb.ToString();}/// summary/// 字符串型的数字转为数组/// 低位右在前比如 123 , n6 存为 3,2,1,_,_,_/// n 可能大于 a 的长度剩余位置留出来用于 进位 等。/// /summary/// param namea/param/// param namen最大位数后面留0/param/// returns/returnspublic static int[] string_to_digitals(string a, int n){// 字符串 转为 “字符数组”char[] c a.ToCharArray();// 存储数字的数组int[] d new int[n];// 从最右端个位数字开始转存为数字数组参与后面的计算for (int i a.Length - 1, j 0; i 0; i--){// 跳过数字前面可能有的 - 号if (a[i] -) continue;// 0 字符是最小的数字字符// 数值 字符 - 0 d[j] a[i] - 0;}return d;}/// summary/// 数组型数字转为字符串型/// 低位右在前比如 3,2,1,_,_,_ 转为 123, n6/// 这是前面 string_to_digitals 的反向计算函数/// n 可能大于 d 的长度剩余位置留出来用于 进位 等。/// /summary/// param named/param/// returns/returnspublic static string digitals_to_string(int[] d){int n d.Length;// 数字数组 d 含有一些无效的数组// 因此先从最右段开始去除无效的位置int k n - 1;//for (; (k 0) (d[k] 0); k--) ;while ((k 0) (d[k] 0)) k--;// 找到有效位置后开始组合字符串if (k 0){StringBuilder sb new StringBuilder();for (; k 0; k--) sb.Append(d[k]);return sb.ToString();}else{return 0;}}/// summary/// 《小白学程序》第二十课大数BigInteger的四则运算之一加法/// 大数加法 c a b/// /summary/// param namea/param/// param nameb/param/// returns/returnspublic static string big_integer_plus(string a, string b){int n Math.Max(a.Length, b.Length) 1;// 位数不长的数字直接计算if (n 18){return (ulong.Parse(a) ulong.Parse(b)).ToString();}int[] da string_to_digitals(a, n);int[] db string_to_digitals(b, n);// 从低位右往高位左相加 #if _ORIGINAL__for (int i 0; i (n - 1); i){da[i] db[i];if (da[i] 9){da[i] - 10;da[i 1] 1;}}return digitals_to_string(da); #elseint[] dc new int[n];Array.Copy(da, dc, n);for (int i 0; i (n - 1); i){dc[i] dc[i] db[i];if (dc[i] 9){dc[i] - 10;dc[i 1] 1;}}return digitals_to_string(dc); #endif} }3 计算结果
http://wiki.neutronadmin.com/news/383794/

相关文章:

  • 广东网站设计费用烟台网站建设seo
  • 专业微信网站建设wordpress一键仿站
  • 单页移动网页建站教程个人网页模板王
  • wordpress模板站如何安装交互设计主要做什么
  • 大连企业网站开发品牌设计策划公司
  • 个人电脑做网站服务器wordpress 内涵段子
  • 公司网站与营销网站在栏目上的不同绍兴模板建站代理
  • 郑州网站推广公司服务哪里买域名便宜
  • c2750服务器做网站行吗苏州旅游攻略
  • 新机发布最新消息网站建设智能优化
  • 番禺制作网站技术如何做网站 frontpage
  • 浙江人工智能建站系统软件文字网址生成器
  • 洋县建设银行网站wordpress 图片压缩插件
  • 惠州网站优化免费crm客户管理系统
  • 长沙市天心建设局网站wordpress 页面瀑布流
  • wordpress exploit scanner杭州优化公司在线留言
  • wordpress分页重写修文县抖音seo推广收费
  • 网站蜘蛛屏蔽怎样恢复西安网站建设公司找哪家
  • 免费做链接的网站郑州便宜网站建设公司
  • 网站同步到新浪微博怎么做php网站怎么建设
  • 网站导航菜单设计成立一个做网站的公司
  • 做网站服务器是什么一个新网站要怎么优化
  • 林壑地板北京网站建设站长之家怎么用
  • 化妆品网站建设的维护台州关键词优化推荐
  • 宁波网站关键词排名提升建网站 主流软件
  • 什么是网站功能需求网红营销对消费者的影响
  • 广州企业信息查询网站优化技术
  • 新媒体 网站建设 影视说明多媒体教学网站开发的一般步骤
  • 坪山网站建设价位学校网站集群建设
  • 网站设计制作的价格低廉手工企业网站模板