projectEuler Problem 14.Longest Collatz sequence

Collatz序列 编写一个名为collatz()的函数,它有一个名为number的参数。如果参数是偶数,那么collatz()就打印出number//2,并返回该值。如果number是奇数,collatz()就打印并返回3*number+1。 然后编写一个函数,让用户输入一个整数,并不断对这个数调用collatz(),直到函数返回值1. 第一步:根据第一段信息,定义出collatz()函数: def collatz... 阅读详情

题目链接:14.Longest Collatz sequence

题意:

    如果一个数 n 为偶数,那么 n = n / 2

   如果一个数  n 为奇数,那么 n = n * 3 + 1,   默认每个数都可以转换到1

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

13的链长为 10

问 : 小于一百万的数字中 哪个数字的链长最长

解题思路:

   这个网站是只要答案,所以暴力跑,可能20多秒就跑出来了,但是还是最好运用算法,记忆化搜索。节省大量时间

从上面可以看出, 如果40的链长已经已知,那么 13 的链长就是 40的链长加1,后面的也一样

用一个数组进行记录就行

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1000000;
int a[maxn];
int get(ll x) {         // 此处需要长整型,否则会溢出
	if(x == 1) {
		return 1;
	}
	if(x < maxn && a[x] != 0) { // 如果获取到了当前数字的链长,直接返回就行
		return a[x];
	}
	int k = 0;
	if(x % 2 == 0) {
		k = get(x/2) + 1;     // 寻找 x/2 的链长  + 1就行
	} else if(x*3+1) {        // 同理
		k = get(x*3+1) + 1; 
	}
	if(x < maxn) {
		a[x] = k;       // 只有小于maxn的数才记录,否则没意义(而且数组长度也太大)
	}
	return k;
}
int main() {
	int ans = 1;
	for(int i = 1; i < maxn; i++) {
		a[i] = get(i);
		if(a[i] > a[ans]) {
			ans = i;
		}
	}
	cout << ans << endl;
	return 0;
}

 

YOLO26算法大门区域检测+训练好的模型+285张数据集+pyqt可视化界面.zip 附训练好的 YOLO 权重与 PyQt 可视化检测界面,页面底部含可视化效果预览,毕设/课设开箱即用。 【数据集概况】 · 检测类别(中文):[大门(gates)] 【训练曲线与评估图】 【模型训练配置】 参数 | 值 模型 | yolo26n 训练轮数 | 100 epochs 输入尺寸 | 640x640 批次大小 | 24 优化器 | auto 初始学习率 | 0.01 训练设备 【关键指标汇总】 训练了 64 个 epoch,最终轮指标: 指标 | 数值 mAP50 | **0.6364** mAP50-95 | 0.4539 Precision | 0.7309 Recall | 0.6111 train/box_loss | 0.6662 train/cls_loss | 0.5916 val/box_loss | 1.3351 val/cls_loss | 1.5479 【训练过程分析】 训练过程可分成三个主要阶段:前期、中期和后期。刚开始时,模型的损失函数确实有了显著下降,box_loss 从0.6662开始,经过几轮的迭代,迅速降至0.5左右。但到了中期,loss 的下降速度明显放缓,甚至有停滞不前的趋势。这一现象在val/box_loss的表现上尤其明显,从1.3351缓慢上升至1.4左右,直到训练到64轮时才略有下降。在这一阶段,mAP50从0.6364仅轻微上升到0.64,提升有限。这期间,模型似乎陷入了平台期,进展缓慢,让人感到有些煎熬。从第30轮到第64轮,我频繁查看曲线图,希望能捕捉到一点改善的迹象,但都未能如愿。这个阶段也让我对模型的潜力产生了怀疑,担心训练过程可能需要更长时间才能看到显著改善。 进入后期阶段,尽管损失函数略有下降,但mAP50的提升并不明显,这让人感到非常... 使用场景:毕业设计、课程设计、深度学习入门、工业场景落地验证。 立即下载

相关推荐

状态估计【卡尔曼滤波kalman】UKF、EKF、粒子滤波PF学习与研究(Matlab代码实现)

内容概要:本文围绕非线性状态估计中的三种经典滤波算法——无迹卡尔曼滤波(UKF)、扩展卡尔曼滤波(EKF)和粒子滤波(PF)展开系统性学习与研究,重点在于通过Matlab编程实现这些算法的核心流程,并将其应用于实际系统的状态估计问题中。文档不仅详细阐述了各算法的数学原理、适用条件与性能差异,还提供了完整的仿真代码与案例分析,帮助读者深入理解其在非线性、非高斯环境下的表现特性。同时,资源拓展至EKF与神经网络融合训练、多源数据融合等高级应用场景,展现了其在智能控制、无人机导航、电力系统状态估计、目标跟踪等领域的广泛应用价值。; 适合人群:具备一定信号处理、控制理论或状态估计基础的研究生、科研人员及工程技术人员,尤其适用于从事自动化、机器人、导航、电力电子与智能系统等相关方向的研究与开发工作者;; 使用场景及目标:① 掌握UKF、EKF与PF在非线性系统中的建模思路与Matlab实现方法,理解其优缺点与适用边界;② 提升科研仿真能力,能够独立构建状态估计模型并进行算法对比验证;③ 将所学方法应用于如电池SOC估算、无人机姿态估计、传感器融合、故障诊断等实际工程问题中;; 阅读建议:建议结合Matlab动手实践,逐行解读并调试所提供的代码,深入理解算法实现细节;同时可延伸学习文中提及的数据融合、神经网络与滤波器结合等进阶主题,以构建完整的状态估计技术知识体系。

实践练习:Collatz序列(初学者的心得体会)

3.11.1 Collatz序列(书本第56页) 在做练习时,首先尝试自己编写代码试运行,出错了不要直接去网上搜寻答案,而是自己先尝试调试,这个过程虽然看起来“浪费时间”,但是一次锤炼自己的机会。 def collatz(number): #定义函数 if number%2==0: return number//2 else: return 3*number+1 print("Eter number:") k=int(input()) #k=3#此处手动

weixin_44237110的博客 1780

高通camera调试经验总结

修改AF对焦模式 adb shell setprop vendor.debug.camera.af.manual 2 //使能手动对焦 adb shell setprop vendor.debug.camera.af.manual 0 //使能自动对焦

weixin_43381364的博客 1万+

Collatz 序列

编写一个名为 collatz()的函数,它有一个名为 number 的参数。如果参数是偶数, 那么 collatz()就打印出 number // 2,并返回该值。如果 number 是奇数,collatz()就打 印并返回 3 * number + 1。 然后编写一个程序,让用户输入一个整数,并不断对这个数调用 collatz(),直 到函数返回值1(...

weixin_33909059的博客 723

随机变量序列 收敛 检验 matlab,利用MATLAB验证样条插值的收敛性

问题提出多项式插值是不收敛的,即插值的节点多,效果不一定就好。对样条函数插值又如何呢?理论上证明样条插值的收敛性是比较困难的,但通过本实验可以验证这一理论结果。.实验内容请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。考虑实验2.1中的函数或选择其他你有兴趣的函数。(中函数)。实验要求(1)随节点个数增加,比较被逼近函数和样条插值函数误差的变化情况。分析所得结果并与拉格朗...

weixin_30895121的博客 4735

告别安装报错!保姆级教程:用阿狸狗破戒大师V3.2.6搞定Cadence 17.4完整安装与补丁

本文提供Cadence 17.4的完整安装与破解教程,特别针对国内用户常见问题优化。从前期准备、镜像处理到阿狸狗破戒大师V3.2.6的智能破解,再到补丁管理与性能调优,详细指导每一步操作,确保一次性安装成功并提升设计效率。

weixin_30632089的博客 835

R语言入门教学(2.5)- 课后练习

课程2的课后题

a blog out of timeline 1017

测试人必看!正交表与Allpairs工具对比:如何选择最适合你的组合测试方案?

本文深入对比了正交表、PICT与Allpairs三种主流组合测试方案,帮助测试人员根据项目场景做出最佳选择。文章分析了各自的核心原理、优劣势及适用场景,特别强调了在涉及复杂约束时PICT工具的强大功能,并提供了从原理学习到CI/CD集成的实战选型指南。

weixin_29224309的博客 267

694 - The Collatz Sequence

#include using namespace std; int main() { long long int n,l,m,i(1); while(cin>>n>>m) { if(n==-1&&m==-1) break; l=0; cout<<"Case "<<i<<": A = "<<n<<",

moyan_min的专栏 433

PDF与OFD电子发票解析技术实战:从格式转换到精准识别

本文深入探讨了PDF与OFD电子发票解析技术的实战应用,从格式转换到精准识别,提供了全面的解决方案。通过OFD转PDF技术、动态定位算法和多重校验机制,显著提升电子发票识别效率与准确率,助力企业财务数字化转型。

weixin_42565652的博客 164

手把手教你解决Windows 10网络驱动器无法访问问题(附详细排查步骤)

本文详细指导Windows 10用户解决网络驱动器无法访问的常见问题。通过从现象快速定位到系统排查,提供了从检查网络连通性、修复凭据权限到调整高级设置的完整步骤,特别是针对“找不到网络路径”等错误,帮助用户高效恢复对共享资源的访问。

weixin_29233857的博客 517

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

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 fol...

weixin_30920091的博客 95

机器人控制基础:电机编码器常见类型

电机编码器是测量电机位置、速度和方向的传感器,主要分为光电、磁性和旋转变压器三类。光电编码器精度高但需防尘,适用于伺服系统;磁性编码器耐环境性强,常用于汽车电机;旋转变压器适应极端环境,多用于军工领域。按信号类型可分为增量式(成本低)和绝对式(断电保留位置)。选型需综合考虑精度、环境适应性及成本。

start_up_go的博客 475

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

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 followi

GodLike 1400

【赛题解析&命令脚本配置】2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第1套模块A:网络构建 & (五)无线网络配置+(六)出口网络配置-命令配置

【赛题解析&命令脚本配置】2023年全国职业院校技能大赛GZ073网络系统管理赛项赛题第1套模块A:网络构建 & (五)无线网络配置+(六)出口网络配置-命令配置

君逍遥o 408

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Project Euler Problem 14 Longest Collatz sequence

Longest Collatz sequence Problem 14 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 an...

weixin_34034670的博客 98

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【欧拉计划第 14 题】 最长的考拉兹序列 Longest Collatz sequence

Problem 14 Longest Collatz sequence The following iterative sequence is defined for the set of positive integers: n→n2 (n is even),n→3n+1 ( n is odd) \large n\rightarrow \frac{n}{2}\ \left ( n\ is\ even \right ) ,n\righ

董哲朋的博客 14万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

48# Collatz Sequence 科拉茨序列

文章目录问题描述问题解决解题思路代码 问题描述 科拉茨序列描述:我们可以选定一个初始数X并以下列规则进行延续排列,直到数为1 if X is even (i.e. X modulo 2 = 0) then Xnext = X / 2 else Xnext = 3 * X + 1 例如15以下列顺序排列 15 46 23 70 35 106 53 160 80 40 20 10 5...

roymustang的博客 1209

project Euler 14

417ms import java.util.Date; /** * Created by Administrator on 2015/5/18. */ class E14 { public static long[] compute(long number) { long[] result=new long[2]; result[0]=nu

liuboman的博客 540

Project Euler 14

这题太不科学了……可能是因为我对c了解还不够…… 用了记忆化搜索……先是递归(图样图森破) 显然是栈不够深,随后转为普通while flow control, 这个明明是正确的解法啊……结果经常在mingw下停止工作,目测也是越界什么错误的…… ide有时候会很有用的~可惜我目前还算是不想用,在linux下编程是有时会方便…… 但我今天本来没想编程的……

lushl9301的专栏 473

Project Euler 第14题

迭代序列 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 ...

Lam Peter's blog 277

ProjectEuler】14.Longest Collatz sequence 最长的Collatz序列 Java代码

求这种特殊序列的最大长度起始数 当n是偶数时,n的下一个数等于n/2 当n是奇数时,n的下一个数等于3*n+1 例如:13->40->20->10->5->16->4->2->1 虽然还没有得到证明,但我们认为任何一个数作为起点,都能最终得到1 求哪一个数作为起点,它能得到最长的序列(在一百万以内) 起点小于一百万,但是中间的数可以大于一百万 原题网址:https://projecteuler.net/problem=14 Java代码如下 .

weixin_44201353的博客 343

projecteuler.net解题记录,参考了肥猫的(第14题)

第14题:Find the longest sequence using a starting number under one million.根据数学家猜想,对一个任意自然数循环进行如下处理,最后总可以得到1:如果是偶数: 除以2否则:乘以3再加上1找出100万以内,拥有最大步数的自然数。mark = [0] * 1000000mark[1] = 1def collatz(n):    m =

老光的专栏 1709

Project Euler Problem 14 (C++和Python代码实现和解析)

Problem 14 : Longest Collatz sequence 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,...

jiafengfu的优快云博客 479
上一篇: LeetCode 1585. 检查字符串是否可以通过排序子字符串得到另一个字符串
下一篇: LeetCode 37. 解数独
error0318
博客等级 码龄9年 57粉丝 515原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值