解题思路:
注意事项:
参考代码:
#include<stdio.h>
#include<math.h>
int main(){
int p,q,x;
scanf("%d%d",&p,&q); //输入p、q
scanf("%d",&x); //输入小数前q位
int y=x/pow(10,q-p+1); //循环节前几位
int z=x-y*pow(10,q-p+1); //循环节
int fenmu=(pow(10,q-p+1)-1)*pow(10,p-1); //没有化简的分母
int fenzi=z+y*(pow(10,q-p+1)-1); //没有化简的分子
//化简分子和分母
int b=fenmu,s=fenzi;
int c=b%s;
while(c){
if(s>c){
b=s;
s=c;
}
else
b=c;
c=b%s;
}
fenmu=fenmu/s;
fenzi=fenzi/s;
printf("%d %d",fenzi,fenmu);
return 0;
}
0.0分
5 人评分