/* gnubc program: decimal */ " Typing period(m,n,b) where m,n,b (b>1) are positive integers, 1<=m0){ a=b b=c c=a%b } return(b) } /* If m,n,b (b>1) are positive integers, 1<=m=n){"m>=n:"; return(0)} if(m<1){"m<1:"; return(0)} if(n<1){"n<1:"; return(0)} if(b<=1){"b<=1:"; return(0)} i=0 c[0]=m flag=0 while(flag==0){ p=b*c[i] i=i+1 c[i]=p%n a[i]=p/n /*print "a[",i,"]=",a[i],"\n" /* the i-th digit */ if(i==1000){ print "limit of 1000 digits produced\n" return(0) } for(j=0;j=0;i--){ print pre[i] } for(j=r-1;j>=0;j--){ print per[j] } for(j=r-1;j>=0;j--){ print per[j] } print "... = ",num,"/",denom,"\n" return }