#include<bits/stdc++.h>
using namespace std;
char str[512];
int main()
{
int n,m;
scanf("%d,%d",&n,&m);
//如果能够整除
if (n%m==0){
cout<<n/m<<endl;
return 0;
}
//如果不能被整除
int zheng=n/m;//整除后的商
int yu=n%m;//整除后的余数
string str;//用来记录循环节
while (1){
int a=(n%m)*10/m;
str.append(to_string(a));
int b=((n%m)*10)%m;
n=b;
if (b==0 || b==yu) break;
}
if (n==0) cout<<zheng<<"."<<str<<endl;
else cout<<zheng<<"."<<"["<<str<<"]"<<endl;
return 0;
}
有理数的循环节(数学)
最新推荐文章于 2022-12-02 17:09:19 发布