任意两整数相除 保留小数点后10000位 |
您所在的位置:网站首页 › 根号2后10000位 › 任意两整数相除 保留小数点后10000位 |
思路:先给被除数扩大10^10000倍,然后从后向前截取10000位 即为结果的小数部分。
不过,程序中不能储存这么大的数,所以只能将数字字符串化,采用模拟手算的方法计算.
using System; using System.Collections.Generic; using System.Text; namespace Calc2 { class Calc { /// /// KINGLO
/// /// /// public void Calcer(int num1, int num2) { //取被除数位数 int num1Len = num1.ToString().Length; //取除数位数 int num2Len = num2.ToString().Length; //结果 String res = ""; //两数相除的整数部分 int portNum = num1 / num2; /// ///以下过程模拟手动除法过程 /// //生成临时除数字符串 String tempStr = ""; //控制输入小数点变量 int x = 0; for (int i = 0; i i) { tempStr += num1.ToString().ToCharArray()[i]; } else { tempStr += "0"; } int tempNum = int.Parse(tempStr); int tempPort = tempNum / num2; if (tempPort != 0) { tempStr = (int.Parse(tempStr) - tempPort * num2) + ""; x++;//记录商大于次数,当x=1时则是第一次商大于,此时输出小数点 } if (x == 1) { res+= '.'; } //保存每次计算结果 res += tempPort.ToString(); } ///输出结果 Console.Write("结果:"+res);
Console.ReadLine(); } } } |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |