plan9fox/rc/bin/approx

24 lines
325 B
Text
Raw Normal View History

2015-06-27 20:00:33 +00:00
#!/bin/rc
if(! ~ $#* 3){
echo usage: approx ratio min max >[1=2]
2015-06-27 20:00:33 +00:00
exit usage
}
echo $1 $2 $3 | awk '
{
y=$1;
min=$2;
max=$3;
for(i = min; i <= max; i++){
k = int(y*i+0.5);
z = (k/i/y-1)*100;
if(z < 0)
z = -z;
if(i == min || z < zm){
zm = z;
printf("%d/%d\t%g\t%.2g%%\n", k, i, k/i, z);
}
}
exit
}
'