探索自除数:发现区间内的神奇数字

news2024/11/16 17:31:43

在这里插入图片描述

本篇博客会讲解力扣“728. 自除数”的解题思路,这是题目链接。

在这里插入图片描述
对于给定的正整数num,我们如何判断它是不是自除数呢?根据定义,我们只需要把num的每一位数字都取出来,判断能不能整除num,如果发现num的某一位数字时0或者无法整除num,就说明num不是自除数;反之,如果发现num的每一位数字都能整除num,就说明num是自除数。

那如何把num的每一位都取出来呢?这里介绍一种很常见的方法:反复进行“mod10除10”,即先mod10取出个位数,然后再除10把个位数去掉,反复进行这样的操作,就能取出num的每一位了。

bool isSelfDividing(int num){
	int tmp = num;
	// 取出每一位
	while (tmp)
	{
		int digit = tmp % 10;
		// 包含0或者不能被整除,则不是自除数
		if (digit == 0 || num % digit)
		{
			return false;
		}
		tmp /= 10;
	}

	// 每一位都能整除
	return true;
}

int* selfDividingNumbers(int left, int right, int* returnSize){
	// 存储[left, right]的自除数
	int* ret = (int*)malloc(sizeof(int) * (right - left + 1));
	int pos = 0; // 记录写入的位置
	for (int i = left; i <= right; ++i)
	{
		if (isSelfDividing(i))
		{
			ret[pos++] = i;
		}
	}

	*returnSize = pos;
	return ret;
}

在这里插入图片描述

总结

解决本题的关键是,如何取出任意整数的每一位。我们需要掌握一种常见的方法,即反复地mod10除10直到num变成0,每次mod10得到的余数就是num的每一位。

感谢大家的阅读!

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

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

相关文章

【虹科案例】使用虹科模块化数字化仪进行车辆测试

引言 模块化仪器比传统仪器的尺寸大大减小&#xff0c;适合安装在电路卡上&#xff0c;同时也可以将多个卡插入具有通用计算机接口、电源和互连的框架中。模块化仪器框架包括使用标准 PCIe 接口的计算机、PXI 测试框架或基于 LXI 的盒子&#xff0c;工程师通常会使用多个卡并将…

git stash clear清空本地暂存代码

git stash clear清空本地暂存代码 git stash 或者 git stash list 查看本地暂存的代码。 清除本地暂存的代码修改&#xff1a; git stash clear git回退代码仓库版本_git回退到之前的版本会影响本地代码嘛_zhangphil的博客-CSDN博客git回退代码版本_git回退到之前的版本会影…

基于opencv的几种图像滤波

一、介绍 盒式滤波、均值滤波、高斯滤波、中值滤波、双边滤波、导向滤波。 boxFilter() blur() GaussianBlur() medianBlur() bilateralFilter() 二、代码 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> …

01 制作Windows11启动盘及安装 || 包含校验ISO映像的方法

前言 由于空间越来越不够用了&#xff0c;上次为Ubuntu分配了96G的空间依然是快要被用完&#xff0c;连一个数据集都放不下了&#xff0c;因此我不得不选择换硬盘。 由于是离谱的华为Mate book D 15的2021款逆天机型&#xff0c;我没有第二个硬盘位。至于说移动硬盘的解决方案…

python3GUI--我的翻译器By:PyQt5(附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;展示1.主界面2.段落翻译3.单词翻译 三&#xff0e;设计1.UI设计2.软件设计3.参考 四&#xff0e;总结 一&#xff0e;前言 很早之前写过一篇python3GUI–翻译器By:PyQt5&#xff08;附源码&#xff09; &#xff0c;但是发现相关引擎…

LED显示屏技术:数码时代的绚丽舞台

随着信息技术的飞速发展&#xff0c;LED显示屏技术成为现代社会不可或缺的一部分。这种技术以其高亮度、高清晰度和多样化的应用领域&#xff0c;在数字化时代展现出绚丽多彩的画面&#xff0c;为我们带来了前所未有的视觉体验。本文将探讨LED显示屏技术的原理、应用以及对于现…

【JavaEE】简单了解JVM

目录 一、JVM中的内存区域划分 二、JVM的类加载机制 1、类加载的触发时机 2、双亲委派模型 1.1、向上委派 1.2、向下委派 三、JVM中的垃圾回收机制&#xff08;GC&#xff09; 1、确认垃圾 1.1、引用计数&#xff08;Java实际上没有使用这个方案&#xff0c;但是Pytho…

超详细 | 模拟退火算法及其MATLAB实现

模拟退火算法(simulated annealing&#xff0c;SA)是20世纪80年代初期发展起来的一种求解大规模组合优化问题的随机性方法。它以优化问题的求解与物理系统退火过程的相似性为基础&#xff0c;利用Metropolis算法并适当地控制温度的下降过程实现模拟退火&#xff0c;从而达到求解…

RK3588平台开发系列讲解(调试篇)如何进行性能分析

文章目录 一、什么是性能分析呢?二、系统级工具三、源码级工具沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇将介绍性能分析(Performance Profiling) 最简单的性能分析工具是 top,可以快速查看进程的 CPU、内存使用情况;pstack 和 strace 能够显示进程在用…

大数据面试题:HBase的RegionServer宕机以后怎么恢复的?

面试题来源&#xff1a; 《大数据面试题 V4.0》 大数据面试题V3.0&#xff0c;523道题&#xff0c;679页&#xff0c;46w字 可回答&#xff1a;1&#xff09;HBase一个节点宕机了怎么办&#xff1b;2&#xff09;HBase故障恢复 参考答案&#xff1a; 1、HBase常见故障 导…

简要介绍 | 解析模态之间的联系:跨模态学习与多模态学习的区别和联系

注1&#xff1a;本文系“简要介绍”系列之一&#xff0c;仅从概念上对跨模态学习和多模态学习进行非常简要的介绍&#xff0c;不适合用于深入和详细的了解。 解析模态之间的联系&#xff1a;跨模态学习与多模态学习的区别和联系 在人工智能的广泛领域中&#xff0c;跨模态学习…

森林中的兔子(力扣)数学思维 JAVA

森林中有未知数量的兔子。提问其中若干只兔子 “还有多少只兔子与你&#xff08;指被提问的兔子&#xff09;颜色相同?” &#xff0c;将答案收集到一个整数数组 answers 中&#xff0c;其中 answers[i] 是第 i 只兔子的回答。 给你数组 answers &#xff0c;返回森林中兔子的…

Python自动化办公-文件整理脚本

哈喽大家好&#xff0c;今天给大家介绍python自动化办公-文件整理脚本 今天讲解文件整理脚本的实现过程。这是一个很有用的技能&#xff0c;可以帮助你管理你的电脑上的各种文件。需求如下&#xff1a; 需求内容&#xff1a;给定一个打算整理的文件夹目录&#xff0c;这个脚本…

django实现部门表的增删改查界面

1、前期准备 部署好mysql数据库&#xff0c;创建好unicom数据库下载好bootstap的插件下载好jquery的插件下载好mysqlclient-1.4.6-cp36-cp36m-win_amd64.whl的安装包&#xff0c;根据python的版本下载 2、创建项目 在pycharm中创建项目 在pycharm的终端创建虚拟环境 py -m v…

【软件测试】性能测试工具- LoadRunner的介绍和使用

目录 1. LoadRunner是什么2. LoadRunner环境搭建3. LoadRunner三大组件4. LoadRunner脚本录制4.1 WebTous项目介绍启动WebTous项目访问WebTous项目相关配置 4.2 脚本录制新建脚本录制脚本运行脚本 4.3 脚本加强插入事务插入集合点插入检查点插入日志字符串比较 1. LoadRunner是…

Nyan Progress Bar 更换进度条插件

打开idea 每天面对进度条怪无聊的&#xff0c;今天无意之中发现一个插件还挺有意思的 Nyan Progress Bar 当然啦&#xff0c;根据自己的喜欢进行选择 安装好之后&#xff0c;然后再打开idea

【计算机视觉|人脸建模】SOFA:基于风格、由单一示例的2D关键点驱动的3D面部动画

本系列博文为深度学习/计算机视觉论文笔记&#xff0c;转载请注明出处 标题&#xff1a;SOFA: Style-based One-shot 3D Facial Animation Driven by 2D landmarks 链接&#xff1a;SOFA: Style-based One-shot 3D Facial Animation Driven by 2D landmarks | Proceedings of …

Python 进阶(六):文件读写(I/O)

❤️ 博客主页&#xff1a;水滴技术 &#x1f338; 订阅专栏&#xff1a;Python 入门核心技术 &#x1f680; 支持水滴&#xff1a;点赞&#x1f44d; 收藏⭐ 留言&#x1f4ac; 文章目录 1. 打开文件2. 读取文件2.1 逐行读取文件2.2 读取所有行 3. 写入文件3.1 向文件中写入…

华为数通HCIA-ARP(地址解析协议)详细解析

地址解析协议 (ARP) ARP &#xff08;Address Resolution Protocol&#xff09;地址解析协议&#xff1a; 根据已知的IP地址解析获得其对应的MAC地址。 ARP&#xff08;Address Resolution Protocol&#xff0c;地址解析协议&#xff09;是根据IP地址获取数据链路层地址的一个…

ES-5-进阶

单机 & 集群 单台 Elasticsearch 服务器提供服务&#xff0c;往往都有最大的负载能力&#xff0c;超过这个阈值&#xff0c;服务器 性能就会大大降低甚至不可用&#xff0c;所以生产环境中&#xff0c;一般都是运行在指定服务器集群中 配置服务器集群时&#xff0c;集…