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 (循环小数)相关推荐
- Repeating Decimals (计算循环小数)
//计算循环小数,并找出循环节以及循环节的长度,最后输出时若循环节大于50最后输出省略号. //求循环小数,记录被除数,若被除数相同了则证明循环了. //注意:即使是循环小数,但可能并不是从第一位小数 ...
- K - Repeating Decimals(循环小数)
题目描述 The decimal expansion of the fraction 1/33 is 0.03, where the 03 is used to indicate that the c ...
- usaco ★Fractions to Decimals 分数化小数
★Fractions to Decimals 分数化小数 写一个程序,输入一个形如 N/D 的分数(N 是分子,D 是分母),输出它的小数形式. 如果小数有循环节的话,把循环节放在一对圆括号中.例如, ...
- 求循环小数的表示以及循环节长度
问题:输入整数a和b,输出a/b的循环小数表示以及其循环节长度.例如 a=5 b=43 小数表示为0.(116279069767441860465),循环节长度为21 分析:模拟长除法的计算过程. ① ...
- 从圆的面积说起 循环小数 PI
小学老师:将圆平均分成上下两部分 像切西瓜一样,切很多很多分 展开 将上下两部分放在一起 得到近似平行四边形 所以,S=L*h L:周长 数学史上: 1. 2.阿基米德 3.刘徽 ...
- 把 分数化为循环小数 和 把循环小数化为分数 的方法
今天学习了把分数化为循环小数,下面代码实现的功能是:输入m/n,如果m能被n整除,则直接输出商:否则,输出商以后再输出循环节. #include<cstdio> #include<c ...
- 无限循环小数POJ1930
题意:给定一个无限循环小数,求其分数形势,要求分母最小 分析:看了别人的题解才做出来的,将无限循环小数转化成分数,分为纯循环和混循环两种形式. (1)对于纯循环:用9做分母,有多少个循环数就几个9,比 ...
- 分数化小数 Fractions to Decimals
https://www.luogu.org/problemnew/show/P1530 题解:模拟除法 /* *@Author: STZG *@Language: C++ */ #include &l ...
- 输出1/n(是循环小数的,只输出第一个循环节)
Input 第一行整数T,表示测试组数.后面T行,每行一个整数 n (1<=|n|<=10^5). Output 输出1/n. (是循环小数的,只输出第一个循环节). Sample Inp ...
最新文章
- 另一个小程序 返回的支付结果如何得到_手把手教你测微信小程序
- 那些年我们程序员欠下的技术债
- Python error: Unable to find vcvarsall.bat
- toj 4609 Internal Rate of Return
- 写给Git初学者的7个建议
- paip.验证码识别---除噪算法-中值滤波
- UVZ转成PDF并添加目录
- 51单片机实现计算器程序
- 若依后台实现表连接查询显示,一对一查询
- 零基础入门CV - Task 03 字符识别模型.md
- IntelliJ IDEA设置自动导入包
- 设计模式是不是一件脱裤子放屁的事
- informatica使用问题汇总
- super-tinypng压缩图片
- C语言metropolis方法,如何使用Metropolis-Hastings算法将C或C++代码合并到我的R代码中以加速MCMC程序...
- html+css书店
- Firefox 3.5 在Windows下启动太慢的解决方法
- 磁力大会,快手“品销合一”铸造直播+营销商业双引擎
- 【报告分享】2021年Q1李宁品牌直播数据分析报告-知瓜数据(附下载)
- android高仿今日头条 --新闻阅读器
热门文章
- [深度学习]理解RNN, GRU, LSTM 网络
- PCB板材结构介绍(z)
- linux如何实现相关功能源代码
- mysql explain中key_len值的说明
- bitnami如何使用_使用Bitnami获取完全配置的Apache Airflow Docker开发堆栈
- 机器学习偏差方差_机器学习101 —偏差方差难题
- PHP(二)——HTML基础
- “像你一样”与海容天天:OPEN国际行为艺术展十周年
- java model 中文乱码,java传值乱码解决方法
- 大数据平台容量评估_大数据平台