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

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

题目描述

给出一个正整数 n n n,然后对这个数字一直进行下面的操作:如果这个数字是奇数,那么将其乘 3 3 3 再加 1 1 1,否则除以 2 2 2。经过若干次循环后,最终都会回到 1 1 1。经过验证很大的数字( 7 × 1 0 11 7\times10^{11} 7×1011)都可以按照这样的方式比变成 1 1 1,所以被称为“冰雹猜想”。例如当 n n n 20 20 20,变化的过程是 20 → 10 → 5 → 16 → 8 → 4 → 2 → 1 20\to 10\to 5\to 16\to 8\to 4\to 2\to 1 20105168421

根据给定的数字,验证这个猜想,并从最后的 1 1 1 开始,倒序输出整个变化序列。

输入格式

输入一个正整数 n n n

输出格式

输出若干个由空格隔开的正整数,表示从最后的 1 1 1 开始倒序的变化数列。

1.题目分析

循环对偶数和奇数进行判断,存入数组,循环打印输出即可。

2.题目思路

定义一个数组用于存储中中间计算产生的过程值,对输入1进行特判,输出1,
写一个while循环,当N不等于1时,进入循环,奇数偶数分别进行判断赋值给数组,保证最后一个计算结果为1.
最后逆序打印数组即可。

3.代码演示

#include <stdio.h>int main() {int arr[1000];int n;scanf("%d", &n);int count = 0;//输入1进行特判if (n == 1){printf("1");}while (n != 1) {//判断奇数情况if (n % 2 != 0) {arr[count] = n;n = n * 3 + 1;count++;} else {//判断偶数arr[count] = n;n = n / 2;count++;}//键入1if (n == 1) {arr[count] = n;count++;}}//逆序打印for (int i = count-1; i >=0; i--) {printf("%d ", arr[i]);}return 0;
}

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

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

相关文章

Windows下安装HBase

Windows下安装HBase 一、HBase简介二、HBase下载安装包三、环境准备3.1、 JDK的安装3.2、 Hadoop的安装 四、HBase安装4.1、压缩包解压为文件夹4.2、配置环境变量4.3、%HBASE_HOME%目录下新建临时文件夹4.4、修改配置文件 hbase-env.cmd4.4.1、配置JAVA环境4.4.2、set HBASE_MA…

使用Hutool工具类中的BeanUtil.fillBeanWithMap方法报错`DateException`

使用Hutool工具类中的BeanUtil.fillBeanWithMap方法报错DateException 问题背景 在实现登录功能时&#xff0c;我先将用户信息存入Redis中&#xff0c;然后再获取用户信息的时候&#xff0c;又取出来。我存入Redis的用户信息是Hash格式的&#xff0c;所以取出来的时候&#xff…

Ansible的脚本 --- playbook 剧本

文章目录 一、playbook剧本的组成创建剧本运行playbook二、定义、引用变量三、指定远程主机sudo切换用户四、when条件判断五、迭代Templates 模块tags 模块 一、playbook剧本的组成 playbooks 本身由以下各部分组成 &#xff08;1&#xff09;Tasks&#xff1a;任务&#xff0…

kubernetes 证书更新

参考&#xff1a; https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/https://kubernetes.io/zh-cn/docs/tasks/tls/certificate-rotation/ 查看证书 查看 kubelet是否支持证书自动轮换&#xff0c;默认轮换的证书位于目录 /var/lib/kubele…

vscode 打开文件时如何在资源管理器中展开文件所在的整个目录树(包含node_modules)

如题。去 首选项 --> 设置 中 搜索 “Auto Reveal”&#xff0c;然后选true&#xff0c;注意把下面的Auto Reveal Exclude排除项中的node_modules去掉&#xff0c;这样才能定位到node_modules中的文件。 **/node_modules

正则,JS:this,同步异步,原型链笔记整理

一 正则表达式 正则表达式&#xff08;regular expression&#xff09;是一种表达文本模式&#xff08;即字符串结构&#xff09;的方法&#xff0c;有点像字符串的模板&#xff0c;常常用来按照“给定模式”匹配文本 正则表达式可以用于以下常见操作&#xff1a; 匹配&…

Leetcode刷题---C语言实现初阶数据结构---单链表

1 删除链表中等于给定值 val 的所有节点 删除链表中等于给定值 val 的所有节点 给你一个链表的头节点head和一个整数val&#xff0c;请你删除链表中所有满足Node.valval的节点&#xff0c;并返回新的头节点 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[…

基于 ThinkPHP 5.1(稳定版本) 开发wms 进销存系统源码

基于ThinkPHP 5.1&#xff08;LTS版本&#xff09;开发的WMS进销存系统源码 管理员账号密码&#xff1a;admin 一、项目简介 这个系统是一个基于ThinkPHP框架的WMS进销存系统。 二、实现功能 控制台 – 权限管理&#xff08;用户管理、角色管理、节点管理&#xff09; – 订…

Docker 入门终极指南[详细]

前言 富 Web 时代&#xff0c;应用变得越来越强大&#xff0c;与此同时也越来越复杂。集群部署、隔离环境、灰度发布以及动态扩容缺一不可&#xff0c;而容器化则成为中间的必要桥梁。 本节我们就来探索一下 Docker 的神秘世界&#xff0c;从零到一掌握 Docker 的基本原理与实…

【Golang】Golang进阶系列教程--Go 语言 new 和 make 关键字的区别

文章目录 前言new源码使用 make源码使用 总结 前言 本篇文章来介绍一道非常常见的面试题&#xff0c;到底有多常见呢&#xff1f;可能很多面试的开场白就是由此开始的。那就是 new 和 make 这两个内置函数的区别。 在 Go 语言中&#xff0c;有两个比较雷同的内置函数&#xf…

忽略nan值,沿指定轴计算标准(偏)差numpy.nanstd()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 沿指定轴方向 计算标准(偏)差 numpy.nanstd() [太阳]选择题 import numpy as np a np.array([[1,2],[np.nan,3]]) print("【显示】a ") print(a) print("【执行】np.std(a)&qu…

微信小程序:生成二维码带参数并获取值

通过后台接口可以获取小程序任意页面的小程序码&#xff0c;需要注意的是接口只能生成已发布的小程序的二维码 小程序接口文档 获取 scene 值 1&#xff09;scene 字段的值会作为 query 参数传递给小程序/小游戏。用户扫描该码进入小程序/小游戏后&#xff0c;开发者可以获取…

链表OJ题目1 (移除链表元素)

力扣&#xff08;链接放这里喽&#xff09; 先贴代码再做讲解&#xff1a; struct ListNode* removeElements(struct ListNode* head, int val) {struct ListNode* cur head;struct ListNode* tail NULL;while(cur){if(cur->val val){if(cur head){head head->next…

「问题」如何解决 MyBatis 中的 if 标签无法识别参数为 0 的问题

如何解决 MyBatis 中的 if 标签无法识别参数为 0 的问题 如何让参数为0也能进入if标签的方法中&#xff1f;1、问题2、原因3、怎么解决这个问题&#xff1f; 如何让参数为0也能进入if标签的方法中&#xff1f; 1、问题 mybatis中的自己写的判断方法&#xff0c;若参数buildin…

react map使用方法详解

在React中&#xff0c;map()方法是用于数组的常见方法之一&#xff0c;它可以用于处理数组并返回一个新的数组。在React中&#xff0c;经常使用map()方法来遍历数组&#xff0c;生成对应的组件列表或进行数据转换操作。 下面是map()方法在React中的使用方法详解&#xff1a; …

chatGPT 学习分享:内含PPT分享下载

InstructGPT论文地址&#xff1a; Training language models to follow instructions with human feedbackchatGPT地址&#xff1a;openAI个人整理的PPT&#xff08;可编辑&#xff09;&#xff0c;下载地址&#xff1a;chatGPT学习分享PPT

阿里巴巴 arthas的MathGame源码是什么

阿里巴巴开源的arthas是一个非常优秀的在线调试工具&#xff0c;为了方便学习者练习&#xff0c;提供了一个demo程序MathGame&#xff0c;并且发布在github中&#xff0c;不过呢&#xff0c;国内有时打不开&#xff0c;此时我们可以使用源码直接在我们的idea中启动&#xff0c;…

JUC并发编程之等待唤醒机制

目录 1. 线程等待唤醒机制 1.1 使用Object的wait()和notify()方法 1.2 使用Condition接口 1.3 使用LockSupport类 1. 线程等待唤醒机制 在JUC&#xff08;Java Util Concurrent&#xff09;并发编程中&#xff0c;线程等待唤醒机制是实现线程之间协作和同步的重要手段。这…

AIGC(Artificial Intelligence and Graph Computing)职业发展路径和前景如何?

目录 一、AIGC 基本概念二、AIGC 市场规模三、AIGC 未来发展前景四、AIGC 职业发展路径五、AIGC 技能要求六、AIGC 相关公司 AIGC&#xff08;Artificial Intelligence and Graph Computing&#xff09;是人工智能和图计算的结合&#xff0c;它是一种用于处理大规模复杂数据的计…

暑假刷题第16天--7/28

143. 最大异或对 - AcWing题库&#xff08;字典树&#xff09; #include<iostream> using namespace std; const int N100005; int a[N]; int nex[10000007][2],cnt; void insert(int x){int p0;for(int i30;i>0;i--){int ux>>i&1;if(!nex[p][u])nex[p][u]…