思路与代码

林扬泉  •  4个月前


思路

我们可以用一个数组存余数,每次循环判断两种情况,具体思路看代码:

#include<bits/stdc++.h>
using namespace std;
int ys[110];//存余数 
int m,n;
int main(){
	scanf("%d%d",&m,&n);
	printf("%d/%d=0.",m,n);
	for(int i=1;i<100;i++){
		ys[m]=i;
		m*=10;//写扩大往后移一位
		printf("%d",m/n);//输出 
		m%=n;//余数m 
		if(m==0){//除得尽 
			break;
		}
		if(ys[m]!=0){//循环节出现!!! 
			printf("\nfrom %d to %d",ys[m],i);
			break;
		}
	}
	printf("\n");
	return 0;
}

评论: