题目描述

给定正整数a, b,如果a 除以 b 结果为无限循环小数,求解该无限循环小数的循环节及其长度。

题解思路

模拟长除法的计算过程。

利用长除法求解 3/7,具体如下图:

求解算法描述

  1. 被除数除以除数的余数,记录余数。(如果余数为0,说明数可以被除尽,即没有循环节)
  2. 在余数后面加个0(即余数乘以十),把乘以10 的余数当作新的被除数,除数不变,记录余数并判断余数是否出现过(出现即可停止,说明找到循环节);
  3. 不断的循环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])

案例测试:

编程题:寻找无限循环小数的循环节及长度相关推荐

  1. 分数换算小数补0法_数学 | 循环小数的循环节以及永远追不上的乌龟

    今天带学生做练习,遇到一个循环小数的问题: 题目:0.0909090-的循环节是(  ). A.09       B.90       C.090      D.9090 不少学生选择B项90,习题答 ...

  2. 关于求解循环节的长度

    循环节 题目:两个整数做除法,有时会产生循环小数,其循环部分称为循环节,先输入两个数11,13,求出 11/13 的循环节的长度. 样例输出:6(循环节为:846153) #include<bi ...

  3. [编程题] 寻找三角形

    三维空间中有N个点,每个点可能是三种颜色的其中之一,三种颜色分别是红绿蓝,分别用'R', 'G', 'B'表示. 现在要找出三个点,并组成一个三角形,使得这个三角形的面积最大. 但是三角形必须满足:三 ...

  4. 网易2016 实习研发工程师 [编程题]寻找第K大 and leetcode 215. Kth Largest Element in an Array...

    传送门 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5, ...

  5. 网易2016实习研发工程师编程题——寻找第K大

    1.题目 有一个整数数组,请你根据快速排序的思路,找出数组中第K大的数. 给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间),请返回第K大的数,保证答案存在. 测试样例: [1,3,5 ...

  6. java中两个数之差的绝对值_[代码全屏查看]-java 编程题(求两个数组中字符串长度之差绝对值最大)...

    [1].[代码] [Java]代码 package codewars; import java.util.HashMap; import java.util.Map; /** * 问题描述 * * Y ...

  7. 蓝桥杯第六届省赛JAVA真题----循环节长度

    循环节长度 两个整数做除法,有时会产生循环小数,其循环部分称为:循环节. 比如,11/13=6=>0.846153846153-.. 其循环节为[846153] 共有6位. 下面的方法,可以求出 ...

  8. 无限循环小数化为分数

    前几天被一个小朋友的问题难住了,是怎样将无限循环小数化为分数.当时听到这个问题的时候,第一反应是:这个学过啊,但是自己一点印象都没有啊,在这么多人面前,自己还是个研究生,太丢人了吧.还好小朋友比较给面 ...

  9. MUV LUV EXTRA -( kmp最小循环节 )

    题目链接:点击进入 题意 一个无限循环小数( 从小数点后 某一位 开始依次不断地重复出现前一个或一节数字的十进制无限小数,叫做循环小数 ),真实价值 = a * p - b * l ( a , b 是 ...

最新文章

  1. NOIP2018TG 初赛复习
  2. ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
  3. Leetcode970. Powerful Integers强整数
  4. Adobe Acrobat Reader 快捷键
  5. MySQL Server 5.0安装教程
  6. freemarker 从 spring boot execute jar可执行jar中访问模板文件
  7. 图计算-Pregel-Hama
  8. 学会这个python数字大全,让你不再发愁
  9. Atom飞行手册翻译: 2.14 小结
  10. python爬虫要不要学正则_Python爬虫入门,如何使用正则表达式
  11. 【Solidity】1.一个Solidity源文件的布局 - 深入理解Solidity 1
  12. flow.php 漏洞,php – 使用Apache的Flowplayer安全流
  13. python 求向量间内积 和外积
  14. 8.3-写代码必须要写注释吗?(为什么现实中不写注释?)
  15. linux文件系统ram,Linux常用文件系统概述-RAM篇
  16. composer mysql_composer安装doctrine/dbal
  17. 万字干货!《人人都是产品经理》作者苏杰独家专访
  18. 十人即开团,分销商城全民拼购模式解析
  19. 零窗口探测怎么抓包_易语言防止助手探测窗口的代码
  20. matlab探究龙格现象

热门文章

  1. 适用于 Linux 的最佳 Python IDE
  2. Android下创建一个sqlite数据库
  3. php网站如何上传数据库
  4. 这只是一个有关于安全系统的基本介绍
  5. kendoui php,kendoui,json_kendoui treelist error Request failed!,kendoui,json,ajax - phpStudy
  6. Hive 的数据压缩格式怎么选择?
  7. Kibana: 如何在 Kibana 中生成 Scripted fields
  8. FastBoot 刷机使用方法
  9. excel表格行列显示十字定位_EXCEL中如何设置点击任意一个单元格出现一个十字架标明行和列...
  10. 【大众点评】—— 前端架构设计