UVa-202 Repeating Decimals
题目大意是,输入两个整数 a 和 b ,要求输出 a/b 的循环小数表示以及循环节的长度。
这道题实际上就是用两个数组模拟了一个做除法的过程,qot[] 用来保存每一次相除所得的商(quotient),rmd[] 用来保存每一次相除所得的余数(remainder),若要找到循环节,就只需要每做一次除法时,都遍历一遍两个数组中已经保存的元素,若本次计算所得的 qot 和 rmd 同时与之前保存过的 qot 和 rmd 相同,则可以得出循环节的长度及位置。最后注意格式输出即可。
代码如下:
#include <cstdio>
#include <cstring>
using namespace std;
int qot[3500], rmd[3500];
int main()
{int a, b;while(scanf("%d %d", &a, &b) == 2){int m = 0, n = 0;memset(qot, 0, sizeof(qot));memset(rmd, 0, sizeof(rmd));qot[0] = a / b;rmd[0] = a % b;for(int i = 1; ; i++){qot[i] = rmd[i-1] * 10 / b;rmd[i] = rmd[i-1] *10 % b;for(int j = 1; j < i; j++){if(qot[j] == qot[i] && rmd[j] == rmd[i]){m = i; // m 用来保存循环节的末端位置n = j; // n 用来保存循环节的起始位置break;}}if(n) break;}printf("%d/%d = %d.", a, b, qot[0]);for(int i = 1; i < n && i <= 50; i++)printf("%d", qot[i]);printf("(");for(int i = n; i < m && i <= 50; i++)printf("%d", qot[i]);if(m > 50) printf("...");printf(")\n");printf(" %d = number of digits in repeating cycle\n\n", m-n);}return 0;
}
UVa-202 Repeating Decimals相关推荐
- UVA - 202 Repeating Decimals
Repeating Decimals UVA - 202 题目传送门 解决方法:模拟一下除法,及时记录余数,当一个余数第二次出现时证明开始循环 AC代码 #include <cstdio> ...
- UVa 202 Repeating Decimals
计算循环小数的循环节 输入整数a和b(0<=a<=3000,1<=b<=3000),输出a/b的循环小数表示以及循环节长度. 例如,a=5,b=43,小数表示为0.(11627 ...
- UVa 202 - Repeating Decimals —— 分数循环节
题目:计算分数的循环节. https://vjudge.net/contest/227853#problem/C 分析:数论,组合. n除以m的余数只能是0~m-1,根据抽屉原则,当计算m+1次时至少 ...
- 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 ...
- π-Algorithmist分类题目(3)
原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(3) Probability ...
- 紫书《算法竞赛入门经典》
紫书<算法竞赛入门经典>题目一览 第3章 数组和字符串(例题) UVA 272 TEX Quotes UVA 10082 WERTYU UVA 401 Palindromes UVA 34 ...
- UVa Online Judge 工具網站
UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...
- WaWa的奇妙冒险(第一周集训自闭现场)
第一周周记 (一)例题记录 A-Download Manager (水题) HDU - 3233 Input Output Sample Input Sample Output 理解 AC代码 B-J ...
- 算法竞赛入门经典(第二版)第三章习题
声明:作者水平有限,只是会基础C语言的小菜,C++还未入门.作者仅根据算法竞赛入门经典(第二版)书上第三章习题所述题意而编写,并未严格按照原题的输入输出编写,代码仅经过个人测试(OJ网站太慢了).代码 ...
最新文章
- 组合恒等式2 五个基本的组合恒等式 更复杂的技巧与例题
- 终于有人讲透了芯片是什么(电子行业人士必读)
- 大数据测试之hadoop命令大全 2
- 程序员辞职的7个常用理由,你用的是哪一个?
- Maven打包时去掉项目版本号
- android获取该控件在屏幕,android获取屏幕宽高与获取控件宽高(三种方法)
- LeetCode(100)——相同的树(JavaScript)
- 2019蓝桥杯C++B组 年号字串;完全二叉树的权值
- 100款机器学习数据集
- Ynote源码涉及功能解剖
- C语言 求素数、排序算法
- 2021年黄石二中高考成绩查询,【黄石二中2018高考金榜】黄石二中2004届高考总结...
- 支持ECSHOP 2.73手机客户端
- 读书笔记 ——《系统程序员成长计划》篇4:拥抱变化
- python-编码实现趋势外推法
- 【C++】---日期计算器
- 论文精度 —— 2017 CVPR《High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis》
- 小米手环硬件构成及原理图
- 如何解决word文档报错打不开呢?
- 取出汉字的拼音首字母