一、分数化为小数方法:分母是1的分数称为单位分数。对于单位分数1/n,如果它的分母中不含因数2或5,把它化成小数将是一个纯无限循环小数(它的小数部分没有不循环的)。方法为:我们把分子1作为被除数,用1除以n:因为1小于n,所以商0并点上小数点,然后在1 后面补上0,一直除到余数再次为1时结束,得到的商中小数点后面的所有数就是它的一个循环节。例如:1/3=0.33333……,记作:1/3=0.'3';1/7=0.142857142857142857……,记作:1/7=0.'142857',1/9=0.11111……,记作:1/9=0.'1',其中 '……'表示小数的一个循环节。用此方法就可以把1/n (n中不含因数2或5)化成纯无限循环小数。

二、运行结果展示如下:

c语言中用for计算1到30的积(求纯循环小数的一个循环节用C)(1)

三、用C语言编程实现:

//求纯循环节(即求分母中不含因数2或5的单位分数的一个循环节):

#include <stdio.h>

int main ()

{ int i,b,y,w;//循环变量i,被除数b,余数y,循环节位数w

int m,n; //范围[m,n],(其中m,n均为奇数,且3<=m<=n)

printf("请输入奇数范围m n(用空格隔开):"); scanf("%d %d",&m,&n);

if(m<=2) m=3; //排除0到2的倒数

if(m%2==0) m ; //使m为奇数

for(i=m;i<=n;i =2)

{ if(i%5!=0) //排除5的倍数

{ printf("1/%d=0.'",i); //输出循环节:用单引号' '里面表示一个循环节

w=0;y=1; //个数置0,余数置1

b=10; //被除数后补0

while (b!=1) //反复除,到1止

{ y*=10;w ; //余数末尾补0,个数加1

printf("%d",y/i); //输出商

y%=i;b=y; //求余数y后赋给被除数b

}

printf("',其循环节有%d位\n",w);

}

}

}

,