第一次在优快云写博客,有些小兴奋
博主只是一名大一学生,若有不足希望可以指出,有其他观点也可以发出来一起探讨啊QwQ
代码如下:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int x[3005],y[3005],z[3005];
int a,b,c,n,i;
while(cin>>a>>b)
{
c=a; //记录a初始值
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
memset(z,0,sizeof(z));
n=0;
x[n]=a/b;
a%=b;
n++;
while(a&&!y[a]) //循环到整除或一个循环节结束为止
{
y[a]=n;
z[n]=a;
x[n]=(a*10)/b;
a=(a*10)%b;
n++;
}
cout<<c<<"/"<<b<<" = "<<x[0]<<".";
for(i=1; i<n; ++i)
{
if(z[i]==a) //找到第一个循环节的第一项
cout<<"(";
if(i<=50)
cout<<x[i];
else
{
cout<<"...";
break;
}
}
if(!a)
cout<<"(0";
cout<<")"<<endl;
if(!a)
cout<<" 1 = number of digits in repeating cycle"<<endl;
else
cout<<" "<<n-y[a]<<" = number of digits in repeating cycle"<<endl;
cout<<endl;
}
return 0;
}