判断 一个整数 是不是 2 的阶次方

问题:判断 一个整数 是不是 2 的阶次方

思路:

1、先用while循环,判断该数字是否大于1
2、大于1,那么进行取模2,判断该数字是否是偶数
3、是偶数,那么除以2,看能不能整除掉,整除到最后为1,返回true
4、注意:1 不是2 的阶次方,输入1的话,直接返回false。

代码

简单在main中调用
在这里插入图片描述

写个while,可以重复在控制台中输入并进行判断,只有输入0才退出程序。
在这里插入图片描述

package cn.ljh.algorithmic;import lombok.SneakyThrows;import java.util.Scanner;/*** author JH* 写出代码判断一个整数是不是2的阶次方* 阶次方:阶次方是指一个数的指数部分,表示该数重复乘以自身的次数* Scanner: 提供了一种方便的方式来解析基本数据类型和字符串,并从输入源中获取用户输入或从文件中读取数据* System.in  代表了键盘输入流,提供了一种方便的方法来读取用户在控制台上输入的内容* scanner.nextInt()  从输入流中读取下一个整数*/
public class Demo02
{@SneakyThrowspublic static void main(String[] args){//在控制台重复输入,重复判断://创建Scanner对象,用于获取用户在控制台的输入Scanner scanner = new Scanner(System.in);//true,表示一直循环while (true){System.err.println("请输入一个整数(需要结束的话请输入0):");//从控制台中读取用户输入的数据int num = scanner.nextInt();if (num == 0){System.err.println("程序结束");//跳出循环break;}if (check(num)){System.err.println(num + " 【是】2的阶次方   √");Thread.sleep(1000);System.out.println();} else{System.err.println(num + " 【不是】2的阶次方   X");Thread.sleep(1000);System.out.println();}}//关闭输入流scanner.close();}//判断一个整数是不是2的阶次方public static boolean check(int num){//判断标志boolean flag = true;//1 不是 2 的阶次方if (num == 1){return false;}//循环判断while (num > 1){//判断数字是不是偶数if (num % 2 == 0){//如果是偶数,每次都除以2num = num / 2;} else{flag = false;//跳出当前的循环break;}}return flag;}
}

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

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

相关文章

python 输出日志到文件,删除过期文件

参考:python logging模块按日期打印日志,并删除过期的日志 官方:15.7. logging — Logging facility for Python — Python 2.7.18 documentation 一 简单日志打印: import logging logging.basicConfig(levellogging.DEBUG,fo…

Flutter桌面应用开发之毛玻璃效果

目录 效果实现方案依赖库支持平台实现步骤注意事项话题扩展 毛玻璃效果:毛玻璃效果是一种模糊化的视觉效果,常用于图像处理和界面设计中。它可以通过在图像或界面元素上应用高斯模糊来实现。使用毛玻璃效果可以增加图像或界面元素的柔和感,同…

点赞业务对MySQL和Redis和MongoDB理解

点赞 点赞业务比较频繁,很多人业务可能都会有这个,比如:博客,视频,文章,动态,评论等,但是不应该是核心业务,不应该大量地请求MySQL数据库,给数据库造成大量的资源消耗,MySQL的数据库是非常宝贵的. 以某音为例,当我去搜索的时候,全抖音比较高的点赞数目应该是在1200w - 2000w,…

【视觉SLAM十四讲学习笔记】第三讲——旋转向量和欧拉角

专栏系列文章如下: 【视觉SLAM十四讲学习笔记】第一讲——SLAM介绍 【视觉SLAM十四讲学习笔记】第二讲——初识SLAM 【视觉SLAM十四讲学习笔记】第三讲——旋转矩阵 【视觉SLAM十四讲学习笔记】第三讲——Eigen库 本章将介绍视觉SLAM的基本问题之一:如何…

sql21(Leetcode1174即时食物配送2)

代码: # Write your MySQL query statement belowselect round (sum(order_date customer_pref_delivery_date) * 100 /count(*),2 ) as immediate_percentage from Delivery where (customer_id, order_date) in (select customer_id, min(order_date)from deliv…

Unity 自带的一些可以操控时间的属性或方法。

今天来总结下Unity自带的一些可以操控时间的方法。 1、Time.time。比较常用计算运行时间而触发特定事件。 public class Controller : MonoBehaviour {public float eventTime 5f; // 触发事件的时间private float startTime; // 游戏开始的时间private void Start(){startT…

1300.二人的花纹纸游戏【算法必会题目】(前缀和题-JavaPythonC++实现)

文章目录 一.二人的花纹纸游戏【算法必会题目】(模拟题-Java&Python&C++实现)1.1题目背景1.2题目描述1.3形式化题面1.4提示二.题解2.1 解题思路2.1.1 题解2.2 解题代码2.2.1 C++2.2.2 python2.2.3 Java2.3 代码解释2.3.1 C++ 代码解释:2.3.2 Java 代码解释:2.3.3 P…

大数据学习(24)-spark on hive和hive on spark的区别

&&大数据学习&& 🔥系列专栏: 👑哲学语录: 承认自己的无知,乃是开启智慧的大门 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言📝支持一下博主哦&#x1f91…

计算机毕业设计|基于SpringBoot+MyBatis框架的电脑商城的设计与实现(用户资料修改)

计算机毕业设计|基于SpringBootMyBatis框架的电脑商城的设计与实现(用户资料修改) 该项目分析着重于设计和实现基于SpringBootMyBatis框架的电脑商城。首先,通过深入分析项目所需数据,包括用户、商品、商品类别、收藏、订单、购物…

【活动回顾】sCrypt在2023伦敦区块链大会上的精彩表现

2023伦敦区块链大会,是本年度最盛大的比特币及区块链行业活动。大会于2023年5月31日至6月2日,在伦敦女王伊丽莎白二世中心举行,旨在展示BSV区块链的真正潜力。 sCrypt Inc 的创始人兼 CEO 刘晓晖, 作为演讲嘉宾出席了会议。他向大…

掌握高效性能测试技能:JMeter基础入门!

一、JMeter基础 A、JMeter介绍 Apache JMeter是Apache组织开发的基于Java的压力测试工具。 Apache JMeter may be used to test performance both on static and dynamic resources (files, Servlets, Perl scripts, Java Objects, Data Bases and Queries, FTP Servers and …

【活动回顾】sCrypt在柏林B2029开发者周

B2029 是柏林的一个区块链爱好者、艺术家和建设者聚会,学习、讨论和共同构建比特币区块链地方。 在2023年6月9日至11日,举行了第7次Hello Metanet研讨会。本次研讨会旨在为参与者提供一个学习、讨论和共同构建比特币区块链的平台。 在这个充满激情和创意…

旋转框检测项目相关python库知识总结(mmrotate、ppyolo_r、yolov5_obb)

旋转框常用于检测带有角度信息的矩形框,即矩形框的宽和高不再与图像坐标轴平行。相较于水平矩形框,旋转矩形框一般包括更少的背景信息。旋转框检测常用于遥感等场景中,本博文简单的介绍了可应用于旋转框数据训练的开源库,数据结构…

SpringCloud 微服务全栈体系(十八)

第十一章 分布式搜索引擎 elasticsearch 八、RestClient 查询文档 文档的查询同样适用 RestHighLevelClient 对象,基本步骤包括: 准备 Request 对象准备请求参数发起请求解析响应 1. 快速入门 以 match_all 查询为例 1.1 发起查询请求 代码解读&…

数字技术-IPC专利分类号对应表

数字技术-IPC专利分类号对应表,基于2023年的关键数字技术专利分类体系,通过国际专利分类(IPC)号进行筛选。这些数据涵盖了各种数字技术领域的创新,包括但不限于人工智能、大数据、云计算、物联网、5G通信等。利用关键词…

538. 把二叉搜索树转换为累加树

538. 把二叉搜索树转换为累加树 题目: 给出二叉 搜索 树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和。 提醒…

浅谈联网汽车安全漏洞

“智能网联汽车存在内生共性问题,即软硬件的漏洞后门,基于此进行的网络攻击可以直接带来勒索、盗窃、大规模车辆恶意操控风险,还有数据泄露等网络安全事件。如果内生的漏洞后门问题不解决,系统自身难保,很难谈系统安全…

QTextEdit多行富文本框控件

​锋哥原创的PyQt6视频教程: 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计21条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话…

推荐你一个基于Koin, Ktor Paging等组件的KMM Compose Multiplatform项目

推荐你一个基于Koin, Ktor & Paging等组件的KMM Compose Multiplatform项目 Kotlin Multiplatform Mobile(KMM)已经从一个雄心勃勃的想法发展成为一个稳定而强大的框架,为开发人员提供了在多个平台上无缝共享代码的能力。通过最近的稳定…

平衡二叉树(AVL)

(附代码,简洁好理解) 目录 什么是平衡二叉树? 如何保证二叉树平衡? 左旋/右旋 左右双旋/右左双旋 代码 树的结构: 树的高度与平衡因子: 左/右旋: 平衡维护: …