UVa202Repeating Decimals (循环小数)
生活随笔
收集整理的這篇文章主要介紹了
UVa202Repeating Decimals (循环小数)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
解答:
因為除數是固定的,所以只要判斷被除數是否出現過即可。
#include<iostream> #include <cstdio> #include <cstring> using namespace std; int m,n,vis[5000],res[5000],temp[5000],num,t,x; int main() {while(scanf("%d%d",&m,&n)==2) {memset(vis,0,sizeof(vis));memset(res,0,sizeof(res));memset(temp,0,sizeof(temp));x = m/n;num=0;t=m;m=m%n; while(vis[m]==0&&m!=0){vis[m]=1;temp[m]=num;res[num]=m*10/n;num++;m=m*10%n; }if (m==0){printf("%d/%d = %d.",t,n,x);for (int i=0;i<num;++i)cout<<res[i];printf("(0)\n 1 = number of digits in repeating cycle\n");}else{printf("%d/%d = %d.",t,n,x);for(int i=0;i<temp[m];++i) printf("%d",res[i]);printf("(");if(num-temp[m]>50){for (int i=temp[m];i<50+temp[m];++i) printf("%d",res[i]);printf("...");}elsefor (int i=temp[m];i<num;++i) printf("%d",res[i]);printf(")\n %d = number of digits in repeating cycle\n",num-temp[m]);}printf("\n");}return 0; }?
轉載于:https://www.cnblogs.com/satans/p/11114851.html
總結
以上是生活随笔為你收集整理的UVa202Repeating Decimals (循环小数)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 建设银行商户分期是什么?相关信息盘点
- 下一篇: Go语言字符串和正则表达式