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.rhkb.cn/news/428741.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win11 wsl2安装ubuntu22最快捷方法

操作系统是win11&#xff0c;wsl版本是wsl2&#xff0c;wsl应该不用多介绍了&#xff0c;就是windows上的虚拟机&#xff0c;在wsl上可以很方便的运行Linux系统&#xff0c;性能棒棒的&#xff0c;而且wsl运行的系统和win11主机之间的文件移动是无缝的&#xff0c;就是两个系统…

第二十节:学习Redis缓存数据库实现增删改查(自学Spring boot 3.x的第五天)

这节记录下如何使用redis缓存数据库。 第一步&#xff1a; 先在服务器端安装redis&#xff0c; 下载地址&#xff1a;Releases tporadowski/redis GitHub。 第二步&#xff1a; 安装redis客户端可视化管理软件redisDesktopmanager Redis Desktop Manager - Download 第…

C++ tracy性能分析(二)

环境搭建 项目根目录下 git clone https://github.com/wolfpld/tracy cmake 配置 add_definitions("-DTRACY_ENABLE") add_subdirectory(tracy) include_directories(${TRACY_PUBLIC_DIR}) target_link_libraries(project TracyClient) test.cpp //#define TRACY_C…

完整版:NacosDocker 安装

第一步&#xff1a;先直接通过命令安装 Nacos docker run --name nacos2.2.3 -d -p 8848:8848 -e MODEstandalone f151dab7a111 第二步&#xff1a;创建 Docker 挂载目录 # 创建 log 目录 mkdir -p /root/nacos 第三步&#xff1a;将 Docker 容器的文件复制到挂载目录中 …

[Linux] Linux进程PCB内部信息的深入理解

标题&#xff1a;[Linux] Linux进程PCB内部信息的深入理解 个人主页&#xff1a;水墨不写bug &#xff08;图片来自网络&#xff09; 目录 一.查看进程 二.认识并了解进程的关键信息 I&#xff0c;PID/PPID II&#xff0c;exe III&#xff0c;cwd 三、fork&#xff08;&…

LeetCode[中等] 215. 数组中的第 K 个最大元素

给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 思路&#xff1a;基于快排改进的快速…

【云原生安全篇】一文掌握Harbor集成Trivy应用实践

【云原生安全篇】一文掌握Harbor集成Trivy应用实践 目录 1 概念 1.1 什么是 Harbor 和 Trivy&#xff1f; 1.1.1 Harbor 1.1.2 Trivy 1.2 Harbor 与 Trivy 的关系 Trivy 在 Harbor 中的作用&#xff1a; 1.3 镜像扫描工作流程 2 实战案例&#xff1a;在Harbor 配置 Trivy …

初识模版!!

初识模版 1.泛型编程1.1 如何实现一个交换函数呢&#xff08;使得所有数据都可以交换&#xff09;&#xff1f;1.2 那可以不可以让编译器根据不同的类型利用该模子来生成代码呢&#xff1f; 2.模版类型2.1 模版概念2.2 函数模版的原理2.3 函数模板的实例化2.4 模板参数的匹配原…

Windows上创建批处理.bat文件并且注册为开机自启(Python-web微服务)

1. winodws桌面点击创建文本文件 &#xff08;文件名称.txt&#xff09; 2. 将如下代码写入txt文件中 echo off if "%1""h" goto begin start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h"…

(七)使用SoapUI工具调用WebAPI

1.调用一个无参数的GET请求 [HttpGet(Name "GetWeatherForecast")]public IEnumerable<WeatherForecast> Get(){return Enumerable.Range(1, 5).Select(index > new WeatherForecast{Date DateTime.Now.AddDays(index),TemperatureC Random.Shared.Next(…

科研绘图系列:R语言箱线图(boxplot)

文章目录 介绍加载R包导入数据画图1画图2合并图形系统信息介绍 箱线图展示不同分组的数据分布差异。 加载R包 library(here) library("tidyverse") library("ggpubr") library("scales")

【工具】Windows|两款开源桌面窗口管理小工具Deskpins和WindowTop

总结 Deskpins 功能单一&#xff0c;拖到窗口上窗口就可以置顶并且标记钉子标签&#xff0c;大小 104 KB&#xff0c;开源位置&#xff1a;https://github.com/thewhitegrizzli/DeskPins/releases WindowTop 功能完善全面强大&#xff0c;包括透明度、置顶、选区置顶等一系列功…

如何查看Android设备的dpi

adb shell getprop ro.sf.lcd_density adb shell cat /system/build.prop > build_prop.txt shell cat system/build.prop 结果&#xff1a;参考&#xff1a; 如何查看Android设备的dpi_安卓 查看手机dpi-CSDN博客

ElementUI 用span-method实现循环el-table组件的合并行功能

需要把指定列的相同数据合并起来&#xff08;项目中用的是updateTime&#xff09; 后端返回的数据格式&#xff1a; html&#xff1a; <el-tab-pane label"执行记录概览" name"fourth" v-loading"loading"><el-timeline v-if"re…

windows安装Anaconda教程

一、简介 Anaconda 是一个开源的 Python 和 R 语言的分发平台&#xff0c;专为科学计算和数据分析设计。它包含了包管理器 Conda&#xff0c;可以方便地安装和管理库、环境和依赖项。此外&#xff0c;Anaconda 还附带了许多数据科学工具和库&#xff0c;如 Jupyter Notebook 和…

Ubuntu截图工具flameshot

最近在使用香橙派做一些东西&#xff0c;有些内容需要截图记录&#xff0c;这里记录一下截图工具的安装和使用过程&#xff0c;方便以后查阅。 Ubuntu截图工具flameshot flameshot 简介flameshot 安装flameshot 相关命令 flameshot 简介 linux系统里面最好用的截屏工具支持图形…

el-table的树形结构结合多选框使用,实现单选父子联动,全选,反选功能

<template><div><el-table:data"tableData":row-key"rowKey":default-expand-all"defaultExpandAll":tree-props"treeProps"><!-- 开启树形多选 --><el-table-column v-if"showSelection" width…

[Matplotlib教程] 02 折线图、柱状图、散点图教程

基于MFCC和CNN的语音情感识别 2 折线图、柱状图、散点图2.1 折线图2.1.1 简单折线图2.1.1 线形和Markevery2.1.2 带误差棒的折线图2.1.3 区间填充和透明度 2.2 柱状图2.2.1 分组柱状图2.2.2 堆叠柱状图2.2.3 横向柱状图 2.3 散点图 我们的网站是 菜码编程&#xff0c;我们的q群…

Altium Designer(AD)百度云下载与安装(附安装步骤)

在我们日常使用当中&#xff0c;Altium designer常常也被简称为AD&#xff0c;是一款一体化的电子产品开发系统软件&#xff0c;主要运行在Windows操作系统上。 我们通过Altium designer把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技…

毕业设计选题:基于ssm+vue+uniapp的捷邻小程序

开发语言&#xff1a;Java框架&#xff1a;ssmuniappJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;M…