c语言练习70:反转两次的数字

反转两次的数字

题⽬描述: 反转 ⼀个整数意味着倒置它的所有位。

例如,反转 2021 得到 1202 。反转 12300 得到 321 ,不保留前导零 。

给你⼀个整数 num ,反转 num 得到 reversed1 ,接着反转 reversed1 得到 reversed2 。

如果 reversed2 等于 num ,返回 true ;否则,返回 false 。

• ⽰例 1:

输⼊:num = 526

输出:true

解释:反转 num 得到 625 ,接着反转 625 得到 526 ,等于 num 。

• ⽰例 2:

输⼊:num = 1800

输出:false

解释:反转 num 得到 81 ,接着反转 81 得到 18 ,不等于 num 。

• ⽰例 3:

输⼊:num = 0

输出:true 解释:反转 num 得到 0 ,接着反转 0 得到 0 ,等于 num 。

• 提⽰: 0 <= num <= 10^6

解法⼀(直接模拟):

模拟反转过程。

算法思路:

1. 对原数字进⾏两次反转;

2. 判断反转前后是否发⽣变化。

3. 反转前的值与反转后的值相等则返回 ture ,否则返回 false 。

#include<stdbool.h>
bool isSameAfterReversals(int num) 
{int n = num;int m = 0;//将n反转后的值放⼊mwhile (n) {m = m * 10 + n % 10;n = n / 10;}//跳出循环表⽰n=0,不需要重新赋0//将m反转后的值放⼊nwhile (m){n = n * 10 + m % 10;m = m / 10;}//判断两次反转后的值是否等于原数字return n == num;
}

解法⼆(数学): 反转后发⽣变化的情况只有反转后存在前导零的情况。第⼆次反转⼀定没有前导零,因为第⼆次反转 的最⾼位与原数字的最⾼位相等,原数字的最⾼位⼀定不是0,所以我们只需要判断第⼀次反转是否 含有前导零,即可判断两次反转后是否发⽣变化。

前导零

算法思路:

1. 判断原数字本⾝是否为0,或者个位数是否不为0;

2. 若两个条件都满⾜则返回 true ,否则返回 false 。

bool isSameAfterReversals(int num) {return num == 0 || num % 10 != 0;
}

c语言bool类型

 

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

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

相关文章

Android AMS——APP启动流程(三)

Android 应用启动方式主要有两种 , 冷启动和热启动。 冷启动:后台没有应用进程 , 需要先创建进程 , 然后启动 Activity ;热启动:后台有应用进程 , 不创建进程 , 直接启动 Activity ; 其实,还有一种温起动的方式,就是用户按了返回键退出应用,随后又从新启动,可是活…

C理解(四):链表

本文主要探讨单链表与双链表相关知识。 linux内核链表(include/linux/list.h) 内核链表中纯链表封装,纯链表的各种操作函数&#xff08;节点创建、插入、删除、遍历&#xff09;,纯链表内嵌在驱动结构体中,实现驱动的创建、插入、删除、遍历等 单链表 单链表链表头插…

【每日一题】2769. 找出最大的可达成数字

2769. 找出最大的可达成数字 - 力扣&#xff08;LeetCode&#xff09; 给你两个整数 num 和 t 。 如果整数 x 可以在执行下述操作不超过 t 次的情况下变为与 num 相等&#xff0c;则称其为 可达成数字 &#xff1a; 每次操作将 x 的值增加或减少 1 &#xff0c;同时可以选择将 …

JMM与JUC

1.JMM 问题1&#xff1a;请你谈谈你对Volatile的理解 Volatile 是java虚拟机提供轻量级的同步机制 1. 保证可见性 2. 不保证原子性 3. 禁止指令重排 1.1、什么是JMM JMM Java内存模型 不存在的东西&#xff0c;概念&#xff01;约定 &#xff01; 1.2、关于JMM的一些同…

GD32工程创建

1.创建空工程 在任意路径下创建空的test文件夹。打开keil5空工程创建空工程 选择对应的芯片型号&#xff1a; 然后把空工程保存到test文件夹下。会自动生成如下文件。 2. 添加组 下载GD32F10X的固件库&#xff1a;在百度里搜索GD32进入官网。 下载下来对应的文件如下&#xff…

Word | 简单可操作的快捷公式编号、右对齐和引用方法

1. 问题描述 在理工科论文的写作中&#xff0c;涉及到大量的公式输入&#xff0c;我们希望能够按照章节为公式进行编号&#xff0c;并且实现公式居中&#xff0c;编号右对齐的效果。网上有各种各样的方法来实现&#xff0c;操作繁琐和简单的混在一起&#xff0c;让没有接触过公…

Linux性能优化--性能工具-系统CPU

2.0.概述 本章概述了系统级的Linux性能工具。这些工具是你追踪性能问题时的第一道防线。 它们能展示整个系统的性能情况和哪些部分表现不好。 1.理解系统级性能的基本指标&#xff0c;包括CPU的使用情况。 2.明白哪些工具可以检索这些系统级性能指标。2.1CPU性能统计信息 为了…

LeetCode 接雨水 双指针

原题链接&#xff1a; 力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 题面&#xff1a; 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a…

Java编程技巧:文件上传、下载、预览

目录 1、上传文件1.1、代码1.2、postman测试截图 2、下载resources目录中的模板文件2.1、项目结构2.2、代码2.3、使用场景 3、预览文件3.1、项目结构3.2、代码3.3、使用场景 1、上传文件 1.1、代码 PostMapping("/uploadFile") public String uploadFile(Multipart…

WebPack-打包工具

从图中我们可以看出&#xff0c;Webpack 可以将多种静态资源 js、css、less 转换成一个静态文件&#xff0c;减少了页面的请求. 下面举个例子 &#xff1a; main.js 我们只命名导出一个变量 export const name"老六"index.js import { name } from "./tset/…

什么是Promise链(Promise chaining)?它在异步编程中的作用是什么?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 什么是 Promise 链&#xff1f;⭐ 异步编程中的作用⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、…

【PDF】pdf 学习之路

PDF 文件格式解析 https://www.cnblogs.com/theyangfan/p/17074647.html 权威的文档&#xff1a; 推荐第一个连接&#xff1a; PDF Explained &#xff08;译作《PDF 解析》&#xff09; | PDF-Explained《PDF 解析》https://zxyle.github.io/PDF-Explained/ https://zxyle…