编程题:寻找无限循环小数的循环节及长度
题目描述
给定正整数a, b,如果a 除以 b 结果为无限循环小数,求解该无限循环小数的循环节及其长度。
题解思路
模拟长除法的计算过程。
利用长除法求解 3/7,具体如下图:
求解算法描述
- 被除数除以除数的余数,记录余数。(如果余数为0,说明数可以被除尽,即没有循环节)
- 在余数后面加个0(即余数乘以十),把乘以10 的余数当作新的被除数,除数不变,记录余数并判断余数是否出现过(出现即可停止,说明找到循环节);
- 不断的循环1、2这个过程,直到余数重复出现;
Python代码实现
def solve(a, b):index = 0t = a % bif t == 0:return index, ""# 存放循环小数的索引flag = [-1 for _ in range(10000)]k = 0length = 0res = []stack = []while True:v = (t * 10) // bt = (t * 10) % bif t == 0:index = k + 1length = 0breakif flag[t] >= 0:index = flag[t]length = k - indexbreakstack.append(str(v))flag[t] = kk = k + 1if length == 0:return 0, ""else:return length, "".join(stack[index:k])
案例测试:
编程题:寻找无限循环小数的循环节及长度相关推荐
- 分数换算小数补0法_数学 | 循环小数的循环节以及永远追不上的乌龟
今天带学生做练习,遇到一个循环小数的问题: 题目:0.0909090-的循环节是( ). A.09 B.90 C.090 D.9090 不少学生选择B项90,习题答 ...
- 关于求解循环节的长度
循环节 题目:两个整数做除法,有时会产生循环小数,其循环部分称为循环节,先输入两个数11,13,求出 11/13 的循环节的长度. 样例输出:6(循环节为:846153) #include<bi ...
- [编程题] 寻找三角形
三维空间中有N个点,每个点可能是三种颜色的其中之一,三种颜色分别是红绿蓝,分别用'R', 'G', 'B'表示. 现在要找出三个点,并组成一个三角形,使得这个三角形的面积最大. 但是三角形必须满足:三 ...
- 网易2016 实习研发工程师 [编程题]寻找第K大 and leetcode 215. Kth Largest Element in an Array...
传送门 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5, ...
- 网易2016实习研发工程师编程题——寻找第K大
1.题目 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5 ...
- java中两个数之差的绝对值_[代码全屏查看]-java 编程题(求两个数组中字符串长度之差绝对值最大)...
[1].[代码] [Java]代码 package codewars; import java.util.HashMap; import java.util.Map; /** * 问题描述 * * Y ...
- 蓝桥杯第六届省赛JAVA真题----循环节长度
循环节长度 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节. 比如,11/13=6=>0.846153846153-.. 其循环节为[846153] 共有6位. 下面的方法,可以求出 ...
- 无限循环小数化为分数
前几天被一个小朋友的问题难住了,是怎样将无限循环小数化为分数.当时听到这个问题的时候,第一反应是:这个学过啊,但是自己一点印象都没有啊,在这么多人面前,自己还是个研究生,太丢人了吧.还好小朋友比较给面 ...
- MUV LUV EXTRA -( kmp最小循环节 )
题目链接:点击进入 题意 一个无限循环小数( 从小数点后 某一位 开始依次不断地重复出现前一个或一节数字的十进制无限小数,叫做循环小数 ),真实价值 = a * p - b * l ( a , b 是 ...
最新文章
- NOIP2018TG 初赛复习
- ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- Leetcode970. Powerful Integers强整数
- Adobe Acrobat Reader 快捷键
- MySQL Server 5.0安装教程
- freemarker 从 spring boot execute jar可执行jar中访问模板文件
- 图计算-Pregel-Hama
- 学会这个python数字大全,让你不再发愁
- Atom飞行手册翻译: 2.14 小结
- python爬虫要不要学正则_Python爬虫入门,如何使用正则表达式
- 【Solidity】1.一个Solidity源文件的布局 - 深入理解Solidity 1
- flow.php 漏洞,php – 使用Apache的Flowplayer安全流
- python 求向量间内积 和外积
- 8.3-写代码必须要写注释吗?(为什么现实中不写注释?)
- linux文件系统ram,Linux常用文件系统概述-RAM篇
- composer mysql_composer安装doctrine/dbal
- 万字干货!《人人都是产品经理》作者苏杰独家专访
- 十人即开团,分销商城全民拼购模式解析
- 零窗口探测怎么抓包_易语言防止助手探测窗口的代码
- matlab探究龙格现象
热门文章
- 适用于 Linux 的最佳 Python IDE
- Android下创建一个sqlite数据库
- php网站如何上传数据库
- 这只是一个有关于安全系统的基本介绍
- kendoui php,kendoui,json_kendoui treelist error Request failed!,kendoui,json,ajax - phpStudy
- Hive 的数据压缩格式怎么选择?
- Kibana: 如何在 Kibana 中生成 Scripted fields
- FastBoot 刷机使用方法
- excel表格行列显示十字定位_EXCEL中如何设置点击任意一个单元格出现一个十字架标明行和列...
- 【大众点评】—— 前端架构设计