递归的美妙之真分数序列
试着统计二位整数的最简真分数(分子小于分母,且分子分母无公因数)共有多少个并且求最简真分数的第2010项。
算法设计:
统计分母在区间[a,b]的最简真分数的个数,并且求出这些最简真分数升序序列中的第k项(正整数a,b,k),为了方便起见,设置数组c存储分子,数组d存储分母真分数,排序后的第k项为c[k]/d[k]
在指定的范围[a,b]穷举分数i/j的分母j:a,a+1,...b;
对 每一个分母j穷举分子i:1,2,....j-1.
若分子i和分母j存在大于1的公因数,说明i/j非最简可忽略不计(因约简后分母小于j前已经产生并且赋值或者约简后分母小于a)
若分子i和分母j不存在大于1的公因数,则赋值得到一个最简真分数c[n]/d[n],数组下标n统计最简真分数的个数。
用冒泡排序的算法打印第k项c[k]/d[k].