请编写程序求出1/N的前M位小数

来源:百度知道 编辑:UC知道 时间:2024/05/29 07:34:44
请编写程序求出1/N的前M位小数

在线等~~

给出大体的解题思想就可以了

方法多些最好~

我分数不多,朋友可以加我为百度HI 好友,以后有了分数一定赠送!

建议用FOR循环,建立一个一维数组,数组的长度为M,当然下界根据语言的不同面不同,有的是以1开始的,有的是以0开始的!算好就行了!

首先:你可以将1存入该数组的第一个,而后可以将1*10后与N求余,放入数组的第二个里边,依次类推,同时所求的整数也放入一个数组中,按顺序进行的!至于循环结束。最后其结果的数组中就是小数分位的各结果!如:
array A(M);
array B(M-1);
A(0)=1;
for (i=1 to M){
B(i-1)=int(A(i-1)/N);
A(i)=A(i-1)%N;
}

这个小片段中的结果是:A中放入了所以的余数,B中放入了所有的商!
最后将B中的结果全部整出来就是了!呵呵,这只是小数部分,整数部分直接加上就可以了!

别一种方法就是B是一个字符串,向后不断连接就可以了!

我用这种方法去算循环小数用了!不过中间还有对比的!利用这种方法找出了循环小数的很多规律。可以直接算循环小数的循环节的,因为没有哪个计算能够让我随心所欲的!只也自己写了这方便的程序。不知你要这么长的小数点后有什么用处?是不是跟我一样算循环小数呢?

不知道你要什么语言 我写了个JS的 另外我没做数字验证 你自己做下
<script>
function ck(){
var n=document.getElementById("n").value
var m=parseInt(document.getElementById("m").value)+2
var c=document.getElementById("c")

if (n==0)
{
alert("分母不为0或空")
}
else{
var x=1/n;
var y
y=x.toString().substring(0,m)