专栏首页小六欧拉计划十四——最长考拉兹序列

欧拉计划十四——最长考拉兹序列

最长考拉兹序列

在正整数集上定义如下的迭代序列:

n → n/2 (若n为偶数) n → 3n + 1 (若n为奇数)

从13开始应用上述规则,我们可以生成如下的序列:

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

可以看出这个序列(从13开始到1结束)共有10项。尽管还没有被证明,但我们普遍认为,从任何数开始最终都能迭代至1(“考拉兹猜想”)。

从小于一百万的哪个数开始,能够生成最长的序列呢?

注: 序列开始生成后允许其中的项超过一百万。

#include <stdio.h>
 
int main()
{
	int i, k, ii = 0, max = 0;
	long long n;
	
	for(i = 13; i <= 1000000; i++)
	{
		k = 1; n = i;
		while(!(n == 1))
		{
			if(n % 2 == 0)
			{
				n /= 2;
				k++;
			}
			else
			{
				n = 3 * n + 1;
				k++;
			}
		}
		
		if(max < k)
		{
			max = k;
			ii = i;			
		}
	}
	printf("%d %d", max, ii);
	
	return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • mysql 查询出成绩表排名,两种实现方式

    lop
  • SQL题目50道 持续更新

    lop
  • 欧拉计划——方阵中的最大乘积

    08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 ...

    lop
  • Docker系列之RabbitMQ安装部署教程

    因为学习RabbitMQ需要,需要安装RabbitMQ,网上找资料,RabbitMQ官方提供了window版、Linux版、Docker版的管理页面,为了方便,...

    SmileNicky
  • 学习嵌入式之前,这些概念要搞清~

    ROM(Read Only Memory)和RAM(Random Access Memory)指的都是半导体存储器,ROM在系统停止供电的时候仍然可以保持数据,...

    韦东山
  • Docker安装rabbitmq 原

        安装rabbitmq,要先安装erlang,有点麻烦,如果使用Docker方式来安装rabbitmq,那就不需要预先安装erlang了。

    克虏伯
  • 继续收藏!轻载料箱类自动化立体库的前世今生

    上篇介绍了自动化立体库的起源、发展过程和各种应用,老K决定再斗胆继续整理一下料箱类的自动化立体库的演化变迁,希望能对大家有所帮助。

    老King
  • redis和spring集成

    用户2146856
  • 如何评价一个新技术——以Docker为例

    我是攻城师
  • Oracle应用实战七——多表查询+PL/SQL

    1 多表查询 内连接 使用一张以上的表做查询就是多表查询 语法: SELECT {DISTINCT} *|列名.. FROM 表名 别名,表名1 别名 {WH...

    Java帮帮

扫码关注云+社区

领取腾讯云代金券