美文网首页
欧拉项目提高代码质量的系列任务

欧拉项目提高代码质量的系列任务

作者: Python_Camp | 来源:发表于2022-08-21 07:37 被阅读0次

欧拉项目提高代码质量的系列任务见👇链接介绍
计算科学的数学之欧拉项目问题

Euler Problem 26https://projecteuler.net/problem=26Problem Statement: 一个单位分数的分子中含有1。分母为2至10的单位分数的十进制表示方法如下 给出了分母为2至10的单位分数的小数表示法。

1/3 = 0.(3)
1/4 = 0.25
1/5 = 0.2
1/6 = 0.1(6)
1/7 = 0.(142857)
1/8 = 0.125
1/9 = 0.(1)
1/10 = 0.1

其中0.1(6)意味着0.166666......,并且有1位数的重复周期。可见 可以看出,1/7有一个6位数的循环周期。找出d<1000的值,其中1/d包含最长的重复周期 在其小数部分中包含最长的循环周期。简洁有惊喜的写法

def solution(numerator: int = 1, digit: int = 1000) -> int:
    """
    Considering any range can be provided,
    because as per the problem, the digit d < 1000
    >>> solution(1, 10)
    7
    >>> solution(10, 100)
    97
    >>> solution(10, 1000)
    983
    """
    the_digit = 1
    longest_list_length = 0

    for divide_by_number in range(numerator, digit + 1):
        has_been_divided: list[int] = []
        now_divide = numerator
        for division_cycle in range(1, digit + 1):
            if now_divide in has_been_divided:
                if longest_list_length < len(has_been_divided):
                    longest_list_length = len(has_been_divided)
                    the_digit = divide_by_number
            else:
                has_been_divided.append(now_divide)
                now_divide = now_divide * 10 % divide_by_number

    return the_digit

下面的测试两个区段

Tests

if name == "main":
import doctest
doctest.testmod()

print(solution(10, 1000))
983

print(solution(2000, 3000))
2971

课堂上深入讨论

相关文章

  • 欧拉项目提高代码质量的系列任务

    欧拉项目提高代码质量的系列任务见?链接介绍计算科学的数学之欧拉项目问题[http://mp.weixin.qq.c...

  • SonarQube 本地搭建及使用小结

    SonarQube 是一套代码质量管理平台,可以快速定位一系列代码问题或潜在风险,借此提高代码质量。且应用程序通常...

  • POJ 2262 哥德巴赫猜想

    题目详情 解法:欧拉筛法的级别应用 模板:欧拉筛法 题解代码

  • 提高代码质量方法之单元测试

    代码质量的重要性不言而喻,直接影响了项目质量和团队开发效率,对于如何提高代码的质量,除了依赖开发人员本身的技术素质...

  • 代码整洁之道

    《代码整洁之道》主要讲述了一系列行之有效的整洁代码操作实践。软件质量,不但依赖于架构及项目管理,而且与代码质量紧密...

  • 【点评】前端项目如何用eslint提高代码质量

    前端项目如何用eslint提高代码质量?https://www.jianshu.com/p/4294e5832cf...

  • 你写的代码不优雅(上)

    随着软件项目代码的日积月累,系统维护成本变得越来越高,代码质量是所有软件团队面临的共同问题。持续地优化代码,提高代...

  • jenkins+gitlab pipeline 自动化持续集成(

    一、需求背景 随着前端开发工程化的发展, 为了提高项目的开发效率、代码可维护性、代码质量、代码规范、业务正确性、以...

  • 敏捷开发中高质量 Java 代码开发实践

    本文将介绍在敏捷开发过程中如何通过采取一系列的步骤来保证和提高整个项目的代码质量,阐述了每一步可以利用的工具和最佳...

  • 数据库规范

    如果引用此文请提供原文出处。 上篇文章中我们谈到了代码规范,遵守代码规范的项目是提高代码质量和易读性的有效保障,如...

网友评论

      本文标题:欧拉项目提高代码质量的系列任务

      本文链接:https://www.haomeiwen.com/subject/vmcvgrtx.html