欧拉工程第14题 找出以100万以下的数字开始的最长序列
来源:互联网 发布:xmindpro mac 破解版 编辑:程序博客网 时间:2024/04/30 04:18
题目
以下迭代序列定义在整数集合上:
n → n/2 (当n是偶数时)
n → 3n + 1 (当n是奇数时)应用以上规则,并且以数字13开始,我们得到以下序列:
13 → 40 → 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1
可以看出这个以13开始以1结束的序列包含10个项。虽然还没有被证明(Collatz问题),但是人们认为在这个规则下,以任何数字开始都会以1结束。以哪个不超过100万的数字开始,能给得到最长的序列?
注意: 一旦序列开始之后,也就是从第二项开始,项是可以超过100万的。
解题方法
从1开始迭代,直到100万,计算每个迭代序列的长度,输出最大序列的数字。
程序
public static void solve() { int max = 1; int maxLength = 1; for (int num = 2; num < 1000000; num++) { long temp = num; int length = 1; while (temp != 1) { if (temp % 2 == 0) { temp /= 2; } else { temp = 3 * temp + 1; } length++; } if (length > maxLength) { maxLength = length; max = num; } } System.out.println(max);}
0 0
- 欧拉工程第14题 找出以100万以下的数字开始的最长序列
- 找出以100万以下的数字开始的最长序列。
- 欧拉工程第10题 计算两百万以下所有质数的和
- 欧拉工程第13题 找出100个50位数之和的前十位数字
- 欧拉工程第26题 找出小于1000的数字中令1/d拥有最长循环圈的数字d
- 欧拉工程第一题 找出1000以下的自然数中,属于3和5的倍数的数字之和。
- 欧拉工程第27题 找出为连续数字产生最多质数的二次公式
- 欧拉工程第1题 找出1000以下自然数中3和5的倍数之和
- 欧拉工程第8题 找出这个1000位数字中连续13个数字乘积的最大值
- 欧拉工程第30题 找出所有能够写成各位数字5次方之和的数之和
- 欧拉工程第2题 在斐波那契数列中,找出4百万以下的项中值为偶数的项之和
- 欧拉工程第3题 找出一个合数的最大质数因子
- 欧拉工程第4题 找出由两个三位数乘积构成的最大回文数
- 找出最小的100万数字
- 欧拉工程第二题 在斐波拉契数列中找出4百万以下的项中值为偶数的项之和
- 欧拉工程第24题 0,1,2,3,4,5,6,7,8,9的第100万个字典排列是什么
- 欧拉工程第5题 找出最小的能被1-20中每个数整除的数
- Java进阶之欧拉工程 第十四篇【 最长的collatz序列】
- MySQL循环批量插入数据
- pipaanzhuang
- codeforces 731CSocks
- [C++杂谈]:MFC中使用excel2007读写excel表格
- 京东QQ都没有的牛轰特效、两个ListView联动效果,不用stickyheaderlistview,
- 欧拉工程第14题 找出以100万以下的数字开始的最长序列
- CodeVS 1107 等价表达式【NOIP2005】【模拟
- tomcat7转tomcat6问题
- android -- MediaRecorder 自定义视频录
- Spring的基本用法(二)
- 编码方式escape、encodeURI和encodeURIComponent
- Math类函数总结
- 欢迎使用CSDN-markdown编辑器
- VS编译C函数异常