python-3n+1数链/233

一:3n+1数链
题目描述
在计算机科学上,有很多类问题是无法解决的,我们称之为不可解决问题。然而,在很多情况下我们并不知道哪一类问题可以解决,哪一类问题不可解决。现在我们就有这样一个问题,问题如下:
(11) 输入一个正整数 n;
(22) 把 n 显示出来;
(33) 如果 n=1 则结束;
(44) 如果 n 是奇数则 n 变为 3n+1,否则 n 变为 n/2;
(55) 转入第(2)步。
例如对于输入的正整数 22,应该有如下数列被显示出来: 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 我们推测:对于任意一个正整数,经过以上算法最终会推到 1 。尽管这个算法很简单,但是我们仍然无法确定我们的推断是否正确。不过好在我们有计算机,我们验证了小于 1000000 的正整数都满足以上推断。
对于给定的正整数 n,我们把显示出来的数的个数定义为 n 的链长,例如 22 的链长为 16。 你的任务是编写一个程序,对于任意一对正整数 i 和 j,给出i与j之间的最长链长,当然这个最长链长是由 i 与 j 之间的其中一个正整数产生的。我们这里的 i 与 j 之间即包括 i 也包括 j 。
输入格式
输入包含多组数据,每行分别是 i,j 的值。
输出格式
输出i到j区间中的(包括 i 和 j )数链最长的长度,每行一个。
样例输入输出
样例输入

1 10
样例输出
20
数据范围
对于 100% 的数据,保证 0<i≤j<10000
来源/分类(难度系数:二星
模拟 递归

 


完整代码展示:
def length_list(n):
       sum=1
       while n!=1:
              if n%2==0:
                    n=n/2
                    sum+=1
              else:
                     n=3*n+1
                     sum+=1
       return sum
i,j=map(int,input().split())
list_1=[]
for k in range(i,j+1):
      list_1.append(length_list(k))
list_1.sort()
print(list_1[-1])

def length_list(n):sum=1while n!=1:if n%2==0:n=n/2sum+=1else:n=3*n+1sum+=1return sum
i,j=map(int,input().split())
list_1=[]
for k in range(i,j+1):list_1.append(length_list(k))
list_1.sort()
print(list_1[-1])

 


代码解释:
“def length_list(n):
        sum=1
        while n!=1:
               if n%2==0:
                     n=n/2
                     sum+=1
              else:
                     n=3*n+1
                     sum+=1
       return sum         ”,自定义一个函数length_list(),按照题目所给的数链的定义计算形参n的链长sum,并返回链长值sum。
“i,j=map(int,input().split()) ”,导入用户输入的给定的区间限定值i和j。
“list_1=[]
 for k in range(i,j+1):
       list_1.append(length_list(k)) ”,建立一个空列表list_1,接着遍历i~j的所有数字k,利用length_list函数计算出k的链长。将该链长添加进list_1中。
“list_1.sort()
 print(list_1[-1]) ”,对list_1中元素进行升序排序,接着打1印list_1中的最后一个元素90(即最长数链)。

 


运行效果展示:

1de1753a0fe74593aaaf6a5f612552c3.jpg

9adc1b46ed374ac8a470f035e24871bf.jpg 

 

 

 

 

二:233
题目描述
小理聊天的时候非常喜欢发 “ 233 ”,“ 233 ”来源于猫扑表情第 233 号,是一张捶地大笑的表情。
小理每当看到很好玩的消息的时候总会回一串“ 233... ”。小理其实十分高冷,他发现了这个问题。为了不希望别人立刻知道他在笑,他决定将两个“ 233.. ”乘在一起发出去。
输入格式
输入样例有多组,全部是正整数。首先输入样例组数 T 。
接下来输入T组数,每组数字由两个 233 串组成,每个 233 串长度为 n 。
数据保证每个 233 串必然会有一个 2 作为开头,并且 3 的数量 ≥2 。
输出格式
两个 233 串的乘积。
样例输入输出
样例输入
2
233 233
23333333333333333333333333333333333333333333333333 23333333333333333333333333333333333333333333333333
样例输出
54289
544444444444444444444444444444444444444444444444428888888888888888888888888888888888888888888888889
数据范围
对于 100% 的数据,保证 1≤T≤1500,3≤n≤50 。
来源/分类(难度系数:二星
函数 高精度 模拟 

 


完整代码展示:
def oho(i,j):
       return i*j
n=int(input())
list_1=[]
for k in range(n):
      i,j=map(int,input().split())
      list_1.append(oho(i,j))
for l in range(0,len(list_1)):
      print(list_1[l])

def oho(i,j):return i*j
n=int(input())
list_1=[]
for k in range(n):i,j=map(int,input().split())list_1.append(oho(i,j))
for l in range(0,len(list_1)):
print(list_1[l])

 


代码解释:
“def oho(i,j):
        return i*j ”,自定义一个函数oho(),传递两个形参i,j,接着返回i*j的值。
“n=int(input()) ”,导入用户的输入的样例组数n。
“list_1=[]
 for k in range(n):
       i,j=map(int,input().split())
       list_1.append(oho(i,j)) ”,建立一个空列表list_1,循环n次:导入用户输入的同组的两个数。并将其利用oho()函数计算的返回值添加进list_1中。
“for l in range(0,len(list_1)):
       print(list_1[l]) ”,遍历list_1中元素list_1[i],并打印。

 


运行效果展示:

6256629b2d6240f887f907b20c9b70e0.jpg

3c20e731cbfd4bf8a10ac29aa3700adc.jpg 

               (声明:以上内容均为原创)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146009.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

DOG:知识图谱大模型问答的迭代交互式推理,克服长路径和假阳性关系挑战

DOG&#xff1a;知识图谱大模型问答的迭代交互式推理&#xff0c;克服长路径和假阳性关系挑战 秒懂大纲提出背景解法拆解全流程优化和医学关系 创意 秒懂大纲 ├── DoG框架【主题】 │ ├── 背景【研究背景】 │ │ ├── LLMs的局限性【问题描述】 │ │ │ …

go 读取excel

一、安装依赖 go get github.com/tealeg/xlsx二、main.go package mainimport "fmt" import "github.com/tealeg/xlsx"type Student struct {Name stringSex string }func (student Student) show() {fmt.Printf("Name:%s Sex:%s\r\n", stude…

消灭病毒gamedemo

DestoryVirus 一、AudioSourceManager using System.Collections; using System.Collections.Generic; using UnityEngine;public class AudioSourceManager : MonoBehaviour {public static AudioSourceManager Instance { get; private set; }public SoundPlayer soundPla…

JavaWeb初阶 day1

目录 tomcat目录结构 tomcat:web服务器软件 项目部署的方式 直接将项目放到webapps下 配置conf/server.xml文件 在conf\Catalina\localhost创建任意名称的xml文件。在文件中编写 静态项目和动态项目 Servlet Servlet执行原理 Servlet方法&#xff08;生命周期&#x…

Linux入门学习:make/Makefile(Linux项目自动化构建工具)

文章目录 1. makefile文件语法2. make clean工程清理3. 细节语法4. make原理 ⭕背景&#xff1a; 会不会写makefile&#xff0c;从一个侧面说明了一个人是否具备完成大型工程的能力。一个工程中的源文件不计数&#xff0c;其按类型、功能、模块分别放在若干个目录中&#xff0c…

Linux相关概念和重要知识点(5)(权限的修改、时间属性)

1.权限的修改 &#xff08;1&#xff09;提权行为 普通用户是会受到权限的限制&#xff0c;但root账户无视一切权限限制&#xff0c;因此当我们要获取更高的权限&#xff0c;有一种办法就是将自己变成root或者短暂拥有和root一样的权力。 普通用户 -> root &#xff1a;s…

C++QT医院专家门诊预约管理系统

目录 一、项目介绍 二、项目展示 三、源码获取 一、项目介绍 医院专家门诊预约管理系统 [要求] 该系统需创建和管理以下信息&#xff1a;1、门诊专家信息&#xff1a;专家姓名、编号、性别、年龄、职称、门诊科目、服务时间、门诊预约数据集等&#xff1b;2、门诊预约信息…

2024 研究生数学建模竞赛(E题)建模秘籍|高速公路应急车道紧急启用模型|文章代码思路大全

铛铛&#xff01;小秘籍来咯&#xff01; 小秘籍团队独辟蹊径&#xff0c;运用聚类分析&#xff0c;逻辑回归模型&#xff0c;决策树/规则&#xff0c;ARIMA等强大工具&#xff0c;构建了这一题的详细解答哦&#xff01; 为大家量身打造创新解决方案。小秘籍团队&#xff0c;始…

Open3D 计算点云的曲率密度参数【2024最新版】

目录 一、算法原理1、曲率密度参数2、参考文献二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接,首发于:2024年9月21日。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的抄袭狗。 一、算法原理 1、曲率密度参数 对于点云数据集中任意一点 p i p_i

Python Selenium 自动化爬虫 + Charles Proxy 抓包

一、场景介绍 我们平常会遇到一些需要根据省、市、区查询信息的网站。 1、省市查询 比如这种&#xff0c;因为全国的省市比较多&#xff0c;手动查询工作量还是不小。 2、接口签名 有时候我们用python直接查询后台接口的话&#xff0c;会发现接口是加签名的。 而签名算法我…

vue3 TagInput 实现

效果 要实现类似于下面这种效果 大致原理 其实是很简单的,我们可以利用 element-plus 组件库里的 el-tag 组件来实现 这里我们可以将其抽离成一个公共的组件,那么现在有一个问题就是通讯问题 这里我们可以利用父子组件之间的通讯,利用 v-model 来实现,父组件传值,子组…

精密制造与质量控制:保障滚珠丝杆重载运行精度

滚珠丝杆作为精密机械传动领域的重要零部件&#xff0c;能够将旋转动力精准地转化为流畅的直线运动。在数控机床、精密制造及高度自动化生产线上扮演着不可或缺的角色。在应对温度波动、负载突变及严苛环境条件的考验中&#xff0c;都有很好的表现。那么&#xff0c;应该如何确…

Linux_openEuler_24.03部署Oracle 19c部署安装实测验证(无图形桌面-RPM模式)

前言&#xff1a; 近期对openeuler有点兴趣&#xff0c;顺带在做个开发数据仓项目&#xff0c;那就正好安装个环境做个调测&#xff0c;做个记录放上来做个备录给到大家参考。 openEuler 24.03 LTS&#xff1a;四大升级&#xff0c; 首个AI原生开源操作系统正式发布 openEuler …

2024华为杯研赛数学建模E题分析

2024华为杯数学建模E题分析如下&#xff0c;完整版本可查看最下方名片

U9多组织单据关连生单时的错误提示

开立采购退货单时&#xff0c;有以下的错误提示。从这段文字来看。生成【采购退货单】同时生成关联公司的【退回处理单】&#xff0c;检查退回处理单的单据类型是正常的。不明所以。系统商出来的错误提示一般是用来迷惑人的&#xff0c;不可尽信。 【未找到满足条件【上游推式…

Mybatis的XML实现方法

Mybatis的开发有两种方式&#xff1a; 1、注解 2、XML 使用Mybatis的注解方式&#xff0c;主要是来完成一些简单的增删改查功能。如果需要实现复杂的SQL功能&#xff0c;建议使用XML来配置映射语句&#xff0c;也就是将SQL语句写在XML配置文件中。 Mybatis的XML的实现需要以下…

最新版本TensorFlow训练模型TinyML部署到ESP32入门实操

最新版本TensorFlow训练模型TinyML入门实操 1.概述 这篇文章介绍微型嵌入式设备的机器学习TinyML&#xff0c;它们的特点就是将训练好的模型部署到单片机上运行。 2.TensorFlow深度学习原理 TensorFlow开源项目是由google研发的一个嵌入式机器学习工具&#xff0c;通过调用…

Compose动画

一、Compose动画种类和选择 1.1 选择动画API 1.采用SVG&#xff1a;AnimatedVectorDrawable 是否第三方动画框架&#xff1a;Lottie动画 2.是否需要永久播放&#xff1a;rememberInfiniteTransition 3.布局动画 在内容不同的多个可组合项之间切换 3.1 导航过渡动画&#…

154-钓鱼篇Offfice-CVE漏洞RLO隐藏压缩包释放免杀打包捆绑

#知识点&#xff1a; 1、文件名-RLO 伪装-后缀 2、压缩文件-自解压-运行 3、捆绑文件-打包加载-运行 4、Office 套件-漏洞钓鱼-CVE #文件后缀-钓鱼伪装-RLO cs生成一个exe后门 重命名为一个png反过来或者jpg反过来的名字 然后再g前面输入其他字符在g字符前面右键选择这个插入…

CUDA-事件计时方法cudaEventElapsedTime

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 实现原理 事件计时方法是CUDA编程中一种用于测量GPU内核执行时间的高效手段。其基本步骤包括&#xff1a; 创建事件&#xff1a;…