P5727 【深基5.例3】冰雹猜想

【深基5.例3】冰雹猜想 - 洛谷icon-default.png?t=N7T8https://www.luogu.com.cn/problem/P5727这种方法比较繁琐,预先定义固定的数组长度,很局限:

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int i=0;
        int[] a=new int[1000000];
        
        while(n!=1) {
        	a[i]=n;
        	i++;
        	if(n%2==1) {
        		n=n*3+1;
        	}else if(n%2==0) {
        		n=n/2;
        	}
        	
        }
        a[i]=1;
        
        
        for(int j=i;j>=0;j--) {
        		System.out.printf("%d"+" ",a[j]);
        }
    }
}

简化的方法如下:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        hailstone(n);
    }

    public static void hailstone(int n) {
        if (n == 1) {
            System.out.print(n);
        } else {
            hailstone((n % 2 == 0) ? n / 2 : n * 3 + 1);
            System.out.print(" " + n);
        }
    }
}

这段代码首先读取了输入的整数 n,然后调用名为 hailstone 的递归函数。如果当前数字 n 是 1,那么递归结束,直接输出 1;否则,根据当前数字是奇数还是偶数,递归调用 hailstone 函数。递归调用的顺序使得最终的输出是从最后的 1 开始的整个变化序列的倒序。

递归的终止条件是当输入的数字 `n` 等于 1 时,即 `n == 1`。在这种情况下,递归函数不再继续调用自身,而是直接输出当前的数字 1,结束递归。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

图神经网络和图卷积网络

图神经网络要点 1. GNNs adopt a “graph-in, graph-out” architecture meaning that these model types accept a graph as input, with information loaded into its nodes, edges and global-context, and progressively transform these embeddings, without changing th…

黑马头条知识点总结

黑马头条知识点总结 文章目录 黑马头条知识点总结前言一、使用的所有技术栈二、初始化项目 2.1加密盐登录2.2网关2.3配置nginx三。文章通过freemarker生成html文件存入minio中四。内容安全阿里云接口5.使用延迟任务发布审核文章 4.9.3)redis分布式锁在工具类CacheService中添加…

HWOD:名字的漂亮度

一、题目 描述 给出一个字符串,该字符串仅由小写字母组成,定义这个字符串的漂亮度是其所有字母漂亮度的总和 每个字母都有一个漂亮度,范围在1到26之间。没有任何两个不同字母拥有相同的漂亮度。字母忽略大小写。 给出多个字符串&#xff…

【快速解决】解决谷歌自动更新的问题,禁止谷歌自动更新,如何防止chrome自动升级 chrome浏览器禁止自动升级设置方法

目录 问题描述 解决方法 1、搜索栏搜索控制面板 2、搜索:服务 ​编辑 3、点击Windows工具 4、点击服务 ​5、禁止谷歌更新 问题描述 由于我现在需要装一个谷歌的驱动系统,但是目前的谷歌驱动系统的版本都太旧了,谷歌自身的版本又太新了…

不要盲目开抖店,这才是开店的正确流程,2024全新版教程

我是王路飞。 抖音小店和视频号小店,我更建议没有经验的新手去做抖音小店。 虽然现在抖音小店不属于是一个蓝海项目了,但它依旧是我们普通人借助抖音流量变现非常重要的一个渠道,甚至没有之一。 至于视频号小店,可以说是当下最…

如何在群晖NAS中创建FTP公网地址实现远程上传下载本地文件

文章目录 1. 群晖安装Cpolar2. 创建FTP公网地址3. 开启群晖FTP服务4. 群晖FTP远程连接5. 固定FTP公网地址6. 固定FTP地址连接 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学习网站, 通俗易懂,风趣幽默,忍不住分…

全面预警 快速响应!北斗短报文+4G应急广播系统助力防灾减灾救灾

近年来,自然灾害频发,预警信息落地难,群众感知不及时,容易发生人员伤亡。 灾区交通、电力、通信中断,其他媒介无法发挥作用,救援人员经常会面临着缺乏及时有效的通信手段而造成救援延迟的困境,…

OpenCV与AI深度学习 | 实战|OpenCV实时弯道检测(详细步骤+源码)

本文来源公众号“OpenCV与AI深度学习”,仅用于学术分享,侵权删,干货满满。 原文链接:实战|OpenCV实时弯道检测(详细步骤源码) 0 导读 本文主要介绍如何使用 Python 和 OpenCV实现一个实时曲线道路检测系统。 1 背景…

Collection与数据结构 数据结构预备知识(一) :集合框架与时间空间复杂度

1.集合框架 1.1 什么是集合框架 Java集合框架,又被称为容器,是定义在java.util包下的一组接口和接口实现的一些类.其主要的表现就是把一些数据放入这些容器中,对数据进行便捷的存储,检索,管理.集合框架底层实现原理其实就是各种数据结构的实现方法,所以在以后的学习中,我们会…

C语言中常用的文件操作

本文将介绍常用的关于文件操作函数,如fopen,fclose,fread,fwrite,feek,ftell,rewind以及feof和ferror等文件操作操作函数,还介绍一些用于所有输入输出流的函数如fgetc,fputc,fgets,fputs,fprintf,fscanf等函数,还介绍了sscanf,sprintf函数,fe…

【C++初阶】之类和对象(中)

【C初阶】之类和对象(中) ✍ 类的六个默认成员函数✍ 构造函数🏄 为什么需要构造函数🏄 默认构造函数🏄 为什么编译器能自动调用默认构造函数🏄 自己写的构造函数🏄 构造函数的特性 ✍ 拷贝构造…

原型链-(前端面试 2024 版)

来讲一讲原型链 原型链只存在于函数之中 四个规则 1、引用类型,都具有对象特性,即可自由扩展属性。 2、引用类型,都有一个隐式原型 __proto__ 属性,属性值是一个普通的对象。 3、引用类型,隐式原型 __proto__ 的属…

Java官网64位下载:获取高效、安全的Java平台

Java官网64位下载:获取高效、安全的Java平台 Java是一种广泛应用于软件开发和跨平台应用程序的编程语言。无论是开发桌面应用程序、移动应用程序还是大型企业级系统,Java都是一种可靠且强大的选择。为了确保你获取到高效、安全的Java平台,本文…

supervision CV视觉可视化辅助工具

参考: https://supervision.roboflow.com/latest/ https://github.com/roboflow/supervision/tree/develop/examples 版本: pip install -U supervisionultralytics-8.1.35 (大于8.1才行,不然可能会有错误AttributeError: ‘Res…

第5章.零、单例与小样本提示词的编写之道

零提示、单个提示和小样本提示是用于从ChatGPT中生成文本的技术。在数据匮乏或任务全新、定义模糊之时,我们用微妙的提示,让ChatGPT从无到有,生成文本。 面对任务,空无一例:模型凭借对任务的广泛理解,独辟…

贝锐蒲公英虚拟DMZ:工业设备异地组网,解决网段冲突难题

虚拟DMZ 产品/技术的原理传统DMZ: DMZ中文名称为“隔离区”,也称“非军事化区”;它是为解决安装防火墙后外部网络不能访问内部网络服务器的问题。网关DMZ功能开启后, 将内网的一台服务器完全暴露在外网(内网某个IP绑…

在CentOS7上部署Nginx并测试指南

Nginx部署测试 Nginx简介 Nginx是俄罗斯人Igor Sysoev编写的一款高性能的HTTP和反向代理服务器。 Nginx选择了epoll和kqueue作为网络I/O模型,在高连接并发的情况下,内存、CPU等系统资源消耗非常低,运行稳定。 正向代理与反向代理 正向代…

Swift 周报 第四十八期

文章目录 前言新闻和社区苹果突然不造车了,雷军:非常震惊!分析师:马斯克或是最大赢家你会爱上的开发者活动 提案通过的提案正在审查的提案 Swift论坛推荐博文话题讨论关于我们 前言 本期是 Swift 编辑组自主整理周报的第四十八期…

【MySQL】16.事务管理(重点) -- 2

1. 事务隔离级别 如何理解隔离性1 MySQL服务可能会同时被多个客户端进程(线程)访问,访问的方式以事务方式进行一个事务可能由多条SQL构成,也就意味着,任何一个事务,都有执行前,执行中,执行后的阶段。而所…

基于Echarts的超市销售可视化分析系统(数据+程序+论文)

本论文旨在研究Python技术和ECharts可视化技术在超市销售数据分析系统中的应用。本系统通过对超市销售数据进行分析和可视化展示,帮助决策层更好地了解销售情况和趋势,进而做出更有针对性的决策。本系统主要包括数据处理、数据可视化和系统测试三个模块。…