projecteuler—->problem=14—-Longest Collatz sequence

projecteuler—->problem=14—-Longest Collatz sequence

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

title:

The following iterative sequence is defined for the set of positive integers:

n → n/2 (n is even)
n → 3n + 1 (n is odd)

Using the rule above and starting with 13, we generate the following sequence:

13
→ 40
→ 20
→ 10
→ 5
→ 16
→ 8
→ 4
→ 2
→ 1

It can be seen that this sequence (starting at 13 and finishing at 1) contains 10 terms. Although it has not been proved yet (Collatz Problem), it is thought that all starting numbers finish at 1.

Which starting number, under one million, produces the longest chain?

NOTE: Once the chain starts the terms are allowed to go above one million.

翻译:

以下的循环数列是由正整数依据以下规则构成的:

nn/2 (若n是偶数)

n → 3n + 1 (若n是奇数)

若数列从13開始,就生成了例如以下数列:

13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1

显然以上数列有10个数字,尽管未经证明(著名的Collatz猜想),但我们觉得不管由什么数字開始。数列都会在1处结束。故数列一旦产生了1这一项,就觉得数列结束。

这次的问题是:依据以上规则。由100万下面的哪个数字開始。能够产生最长的数列?

请注意:产生的数列可能会包括数字超过100万的项。

import timedef f(n):    if n%2==1 and n>1:       return f(3*n+1)+1    elif n%2==0:       return f(n/2)+1    return 1m,value=0,0begin=time.time()for i in range(1,1000000):    tmp=f(i)    if tmp>m:        value=i        m=tmpprint time.time()-beginprint m,value

版权声明:本文博客原创文章。博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117677.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 字符串的匹配算法_多字符串匹配

    字符串的匹配算法_多字符串匹配目录需求基础知识逻辑解析源码实现需求先简单描述溪源曾经遇到的需求:需求一:项目结果文件中实验结论可能会存在未知类型、转换错误、空指针、超过索引长度等等。这里是类比需求,用日常开发中常出现的错误类型作为需求,如果要以上结论则判断这个项目检测失败;解决方案一:大家常用的方式可能是if(){continue;}esleif(){continue;}…或者switch-case等;方案二:可能会使用集合contain()方法;方案三:依次匹配字符串中字符(暴力匹配);以上两种方案都能解决;然

    2022年8月21日
    3
  • Yourphp系统发生错误

    Yourphp系统发生错误

    2021年10月9日
    54
  • Kali 2.0 使用 Reaver 的注意事项[通俗易懂]

    Kali 2.0 使用 Reaver 的注意事项[通俗易懂]1、刚一开始使用这条命令airmon-ngstartwlan0就可以开始了,需要注意的是,在Kali2.0里开启的不再是mon0了,而是wlan0mon,所以不要和Kali1.X的版本代码混淆2、Kali1.X的命令无效在Kali2.0中必须自己手动开启网卡的监听模式,所以在执行完上面之后,需要自己手动开启监听模式ifconfigwlan0mondowniwconfig

    2022年5月9日
    154
  • Django(22)Django执行SQL语句[通俗易懂]

    Django(22)Django执行SQL语句[通俗易懂]前言Django在查询数据时,大多数查询都能使用ORM提供的API方法,但对于一些复杂的查询可能难以使用ORM的API方法实现,因此Django引入了SQL语句的执行方法,有以下三种执行方式ext

    2022年7月28日
    6
  • layui表格自适应高度_css布局左侧固定右侧自适应

    layui表格自适应高度_css布局左侧固定右侧自适应//默认上下15px的边距高度,可根据需要修改functionlayuiDialogFitScreen(){varlayui_title_height=$(window.parent.document).find(“.layui-layer-title”).height();varborder_margin=30;varminH=150;var_margin=0;var_top=$(w…

    2025年7月5日
    3
  • 常用的Js调Android方法,以及Android原生传值给Js

    常用的Js调Android方法,以及Android原生传值给Js

    2021年3月12日
    172

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号