码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 编程题:寻找无限循环小数的循环节及长度


    题目描述

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

    题解思路

    模拟长除法的计算过程。

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

    求解算法描述

    1. 被除数除以除数的余数,记录余数。(如果余数为0,说明数可以被除尽,即没有循环节)
    2. 在余数后面加个0(即余数乘以十),把乘以10 的余数当作新的被除数,除数不变,记录余数并判断余数是否出现过(出现即可停止,说明找到循环节);
    3. 不断的循环1、2这个过程,直到余数重复出现;

    Python代码实现

    1. def solve(a, b):
    2. index = 0
    3. t = a % b
    4. if t == 0:
    5. return index, ""
    6. # 存放循环小数的索引
    7. flag = [-1 for _ in range(10000)]
    8. k = 0
    9. length = 0
    10. res = []
    11. stack = []
    12. while True:
    13. v = (t * 10) // b
    14. t = (t * 10) % b
    15. if t == 0:
    16. index = k + 1
    17. length = 0
    18. break
    19. if flag[t] >= 0:
    20. index = flag[t]
    21. length = k - index
    22. break
    23. stack.append(str(v))
    24. flag[t] = k
    25. k = k + 1
    26. if length == 0:
    27. return 0, ""
    28. else:
    29. return length, "".join(stack[index:k])

    案例测试:

  • 相关阅读:
    域内令牌窃取伪造
    Elasticsearch Index Monitoring(索引监控)之Index Stats API详解
    对称加密和非对称加密以及CA证书
    Java版本spring cloud + spring boot企业电子招投标系统源代码
    部分排序算法讲解
    多终端云同步文献管理:Zotero+TeraCloud(Windows+Android)
    第一个Spring程序
    [java并发编程]基于信号量semaphore实现限流器
    面试—如何介绍项目中的多级缓存?
    RPA学起来快吗,相比Python学哪个更快?
  • 原文地址:https://blog.csdn.net/weixin_44402973/article/details/126347213
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号