试统计分母在指定区间[a,b]的最简真分数(分子小与分母,且分子分母无公因数)共有多少个,并求这些最简真分数升序序列的第k项;
1.设计要点:
(1)、设置数组c(k)、d(k)分别存储第k个最简真分数的分子与分母;
(2)、设置枚举循环;
设置j(a~b)循环,枚举指定范围[a,b]内分数i/j的分母;
设置i(1~j-1)循环,枚举对每一个分母j的分数的分子;
(3)、忽略非最简i/j;
若分子i与分母j存在大于1的公因数,说明i/j非最简,可以忽略(因约简后分母小于j,或前面以产生并赋值,或约简后分母小于a);
若分子i与分母j不存在大于1的公因数,则赋值得一个最简真分数c(n)/d(n),数组下标n统计最简真分数的个数;
(4)、逐项比较排序;
应用逐项比较法排序,比较分数式 c[i]/d[i]>c[j]/d[j] 可转换为以下整式;
- c[i]*d[j]>c[j]*d[i];
通过整数实施比较是可行的;
逐项比较排序至第k项即可打印输出c(k)/d(k);