解答:

因为除数是固定的,所以只要判断被除数是否出现过即可。

#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 (循环小数)相关推荐

  1. Repeating Decimals (计算循环小数)

    //计算循环小数,并找出循环节以及循环节的长度,最后输出时若循环节大于50最后输出省略号. //求循环小数,记录被除数,若被除数相同了则证明循环了. //注意:即使是循环小数,但可能并不是从第一位小数 ...

  2. K - Repeating Decimals(循环小数)

    题目描述 The decimal expansion of the fraction 1/33 is 0.03, where the 03 is used to indicate that the c ...

  3. usaco ★Fractions to Decimals 分数化小数

    ★Fractions to Decimals 分数化小数 写一个程序,输入一个形如 N/D 的分数(N 是分子,D 是分母),输出它的小数形式. 如果小数有循环节的话,把循环节放在一对圆括号中.例如, ...

  4. 求循环小数的表示以及循环节长度

    问题:输入整数a和b,输出a/b的循环小数表示以及其循环节长度.例如 a=5 b=43 小数表示为0.(116279069767441860465),循环节长度为21 分析:模拟长除法的计算过程. ① ...

  5. 从圆的面积说起 循环小数 PI

    小学老师:将圆平均分成上下两部分 像切西瓜一样,切很多很多分 展开 将上下两部分放在一起    得到近似平行四边形   所以,S=L*h   L:周长 数学史上: 1.   2.阿基米德  3.刘徽 ...

  6. 把 分数化为循环小数 和 把循环小数化为分数 的方法

    今天学习了把分数化为循环小数,下面代码实现的功能是:输入m/n,如果m能被n整除,则直接输出商:否则,输出商以后再输出循环节. #include<cstdio> #include<c ...

  7. 无限循环小数POJ1930

    题意:给定一个无限循环小数,求其分数形势,要求分母最小 分析:看了别人的题解才做出来的,将无限循环小数转化成分数,分为纯循环和混循环两种形式. (1)对于纯循环:用9做分母,有多少个循环数就几个9,比 ...

  8. 分数化小数 Fractions to Decimals

    https://www.luogu.org/problemnew/show/P1530 题解:模拟除法 /* *@Author: STZG *@Language: C++ */ #include &l ...

  9. 输出1/n(是循环小数的,只输出第一个循环节)

    Input 第一行整数T,表示测试组数.后面T行,每行一个整数 n (1<=|n|<=10^5). Output 输出1/n. (是循环小数的,只输出第一个循环节). Sample Inp ...

最新文章

  1. 另一个小程序 返回的支付结果如何得到_手把手教你测微信小程序
  2. 那些年我们程序员欠下的技术债
  3. Python error: Unable to find vcvarsall.bat
  4. toj 4609 Internal Rate of Return
  5. 写给Git初学者的7个建议
  6. paip.验证码识别---除噪算法-中值滤波
  7. UVZ转成PDF并添加目录
  8. 51单片机实现计算器程序
  9. 若依后台实现表连接查询显示,一对一查询
  10. 零基础入门CV - Task 03 字符识别模型.md
  11. IntelliJ IDEA设置自动导入包
  12. 设计模式是不是一件脱裤子放屁的事
  13. informatica使用问题汇总
  14. super-tinypng压缩图片
  15. C语言metropolis方法,如何使用Metropolis-Hastings算法将C或C++代码合并到我的R代码中以加速MCMC程序...
  16. html+css书店
  17. Firefox 3.5 在Windows下启动太慢的解决方法
  18. 磁力大会,快手“品销合一”铸造直播+营销商业双引擎
  19. 【报告分享】2021年Q1李宁品牌直播数据分析报告-知瓜数据(附下载)
  20. android高仿今日头条 --新闻阅读器

热门文章

  1. [深度学习]理解RNN, GRU, LSTM 网络
  2. PCB板材结构介绍(z)
  3. linux如何实现相关功能源代码
  4. mysql explain中key_len值的说明
  5. bitnami如何使用_使用Bitnami获取完全配置的Apache Airflow Docker开发堆栈
  6. 机器学习偏差方差_机器学习101 —偏差方差难题
  7. PHP(二)——HTML基础
  8. “像你一样”与海容天天:OPEN国际行为艺术展十周年
  9. java model 中文乱码,java传值乱码解决方法
  10. 大数据平台容量评估_大数据平台