【C++】1143 - 纯粹合数

问题

一个合数,去掉最低位,剩下的数仍是合数,再去掉剩下的数的最低位,余留下来的数还是合数,这样反复,一直到最后剩下的一位数仍是合数;我们把这样的数称为纯粹合数。求所有的三位纯粹合数。

在这里插入图片描述

1.分析问题

  1. 已知:所有的三位数
  2. 未知:符合条件的纯粹合数
  3. 关系:合数是指在大于1的整数中除了1和它本身以外还有其他因数的数。

2.定义变量

无。

3.输入数据

无。

4.数据计算

  • 首先定义一个名为isComposite的函数,其作用是判断输入的整数是否为合数。根据合数的定义,一个大于1的整数如果除了1和它本身以外还有其他因数,则该数为合数。此函数通过遍历从2到该数平方根的所有整数,检查是否存在可以整除该数的因子。若找到这样的因子,则返回true表示该数为合数;否则,在遍历完成后返回false。
// 定义一个函数,判断传入的整数num是否为合数
bool isComposite(int num){if(num<1) return false;// 遍历从2到num的平方根,查找是否存在能整除num的因子for(int i=2;i*i<=num;++i){// 如果找到了一个因子可以整除num,说明num是合数,返回trueif(num%i==0)return true;}// 如果遍历结束后都没有找到因子,则num不是合数,返回falsereturn false;
}
  • 定义另一个名为isPure的函数,用于判断一个整数是否为“纯粹合数”,即它的每一位数字都是合数。此函数通过循环不断去除整数的个位数,并对每一位进行isComposite函数的调用,判断是否为合数。只要有一位不是合数,立即返回false;当所有位都经过检查且均为合数时,返回true。
// 定义一个函数,用于判断传入的整数num是否为纯粹合数(即其每一位数字都是合数)
bool isPure(int num){// 当num大于0时,持续进行循环判断while(num){// 获取num的个位数并检查它是否为合数,如果不是,则该数不是纯粹合数,返回falseif(!isComposite(num)) return false;// 将num除以10,去掉个位数,继续检查下一位数字num/=10;}// 所有位上的数字都满足合数条件,所以num是纯粹合数,返回truereturn true;
}
  • 在主函数main中,实现数据计算过程。首先设定一个循环遍历所有的三位数(从100到999)。对于每个遍历到的三位数,调用isPure函数进行判断,如果这个数是纯粹合数,则将其输出。
//四、数据计算 ,遍历所有三位数for(int i=100;i<1000;i++){// 使用isPure()函数检测当前三位数是否为纯粹合数if(isPure(i)) cout<<i<<endl;// 若满足条件,输出该纯粹合数}

5.输出结果

最后,程序执行完毕,返回0,表示程序正常结束。通过这种方式,程序将成功找出并输出所有三位纯粹合数。

完整代码如下:

#include<bits/stdc++.h> 
using namespace std;// 定义一个函数,判断传入的整数num是否为合数
bool isComposite(int num){if(num<1) return false;// 遍历从2到num的平方根,查找是否存在能整除num的因子for(int i=2;i*i<=num;++i){// 如果找到了一个因子可以整除num,说明num是合数,返回trueif(num%i==0)return true;}// 如果遍历结束后都没有找到因子,则num不是合数,返回falsereturn false;
}// 定义一个函数,用于判断传入的整数num是否为纯粹合数(即其每一位数字都是合数)
bool isPure(int num){// 当num大于0时,持续进行循环判断while(num){// 获取num的个位数并检查它是否为合数,如果不是,则该数不是纯粹合数,返回falseif(!isComposite(num)) return false;// 将num除以10,去掉个位数,继续检查下一位数字num/=10;}// 所有位上的数字都满足合数条件,所以num是纯粹合数,返回truereturn true;
}int main(){//一、分析问题//已知:所有的三位数 //未知:纯粹合数 //关系:合数是指在大于1的整数中除了1和它本身以外还有其他因数的数。//二、数据定义 //三、数据输入 //四、数据计算 ,遍历所有三位数for(int i=100;i<1000;i++){// 使用isPure()函数检测当前三位数是否为纯粹合数if(isPure(i)) cout<<i<<endl;// 若满足条件,输出该纯粹合数}//五、输出结果 return 0;	
}

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

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

相关文章

代码随想录算法训练营第三十七天丨738. 单调递增的数字、968. 监控二叉树

738. 单调递增的数字 AC了&#xff0c;很快&#xff01;但是又忘记可以从后向前遍历了&#xff01;&#xff01;&#xff01; class Solution:def monotoneIncreasingDigits(self, n: int) -> int:if n < 9: return nn_list [ord(x) - ord(0) for x in str(n)]n_len …

多目图像拼接算法

图像拼接一般要经过图像特征提取、特征匹配、融合等步骤来实现。 特征匹配与变换: SIFT(尺度不变特征变换)SURF(加速鲁棒特征)ORB(Oriented FAST and Rotated BRIEF)AKAZE(加速的KAZE特征)全景图像拼接算法: 基于特征匹配的拼接:利用特征点匹配找到重叠区域,然后进…

YOLO-World:实时开放词汇目标检测

paper&#xff1a;https://arxiv.org/pdf/2401.17270.pdf Github&#xff1a;GitHub - AILab-CVC/YOLO-World: Real-Time Open-Vocabulary Object Detection online demo&#xff1a;https://huggingface.co/spaces/stevengrove/YOLO-World 目录 0. 摘要 1. 引言 2. 相关工…

HCIA-HarmonyOS设备开发认证V2.0-IOT硬件子系统-WatchDog

目录 一、 WATCHDOG 概述功能简介基本概念 二、WATCHDOG 模块相关API三、WATCHDOG HDF驱动开发3.1、开发步骤(待续...) 坚持就有收获 一、 WATCHDOG 概述 功能简介 看门狗&#xff08;Watchdog&#xff09;&#xff0c;又称看门狗计时器&#xff08;Watchdog timer&#xff0…

C++ 之LeetCode刷题记录(三十二)

&#x1f604;&#x1f60a;&#x1f606;&#x1f603;&#x1f604;&#x1f60a;&#x1f606;&#x1f603; 开始cpp刷题之旅。 目标&#xff1a;执行用时击败90%以上使用 C 的用户。 7. 整数反转 给你一个 32 位的有符号整数 x &#xff0c;返回将 x 中的数字部分反转后…

代码随想录算法训练营第三十七天|738.单调递增的数字

738.单调递增的数字 public class Solution {public int MonotoneIncreasingDigits(int n) {string nun.ToString();char[] numnu.ToCharArray();int idxnum.Length;for(int inum.Length-1;i>0;i--){if(num[i]<num[i-1]){idxi;num[i-1]--;}}for(int iidx;i<num.Lengt…

阿赵UE学习笔记——16、渲染性能相关

阿赵UE学习笔记目录 大家好&#xff0c;我是阿赵。   继续学习虚幻引擎的使用。上一篇说了灯光的移动性问题&#xff0c;这一篇来看看怎样去辨别灯光性能的好坏。   虚幻引擎里面有一组显示模式是专门用来看场景当前的灯光和网格渲染的&#xff0c;叫做优化试图模式&#x…

【Vue】fabricjs 实现局部截图及el-image-viewer大图预览

<!DOCTYPE html> <html lang"zh-CN"> <head> <meta charset"UTF-8"> <title>使用fabric.js裁剪和显示图片</title> <script src"https://cdnjs.cloudflare.com/ajax/libs/fabric.js/4.5.0/fabric.min.js"…

PaddleSeg分割框架解读[02] 配置文件config详解

PaddleSeg分割框架解读[02] 配置文件config详解 以DeepLabv3+为例进行讲解 # 设定batch_size的值即为单卡迭代一次送入网络的图片数量,一般显卡显存越大,batch_size的值可以越大 batch_size: 2 # epoch=(iters*batch_size*num_gpus)/N (x*2*4)/28990=80 iters: 289900 …

samber/lo 库的使用方法: 处理 channel

samber/lo 库的使用方法&#xff1a; 处理 channel samber/lo 是一个 Go 语言库&#xff0c;提供了一些常用的集合操作函数&#xff0c;如 Filter、Map 和 FilterMap。 这个库函数太多&#xff0c;因此我决定按照功能分别介绍&#xff0c;本文介绍的是 samber/lo 库中channel相…

adb-环境安装

1. 下载解压包&#xff1a;百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#xff0c;支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com/s/1TDu2fzGbqCyug3wCSmV9oQ?pwd…

Android无法获取已安装应用包名的问题

前言 在某些情况下&#xff0c;我们需要获取android上已安装的第三方应用的一些信息 检索 private boolean isAppInstalled(Context context, String pkgName) {if (pkgName null || pkgName.isEmpty()) {return false;}PackageInfo packageInfo;try {packageInfo context…

UI美化stylesheet

一、网上找到自己喜欢的图标 大家可以每个图标类型找出三种不同的颜色&#xff0c;方便后续美化效果&#xff0c;这里我每种只找了一个。&#xff08;随便找的&#xff0c;最后效果不好看&#xff09; 将这个文件夹复制到项目的文件夹中。 然后右键Add New…选择QT&#xff0c…

list链表

1. list基本概念 功能&#xff1a;将数据进行链式存储 链表&#xff08;list&#xff09;是一种物理存储单元上非连续的存储结构&#xff0c;数据元素的逻辑顺序是通过链表中的指针链接实现的 链表的组成&#xff1a;链表由一系列结点组成 结点的组成&#xff1a;一个是存储数据…

阿里云OSS和SEC服务器,免费ssl证书申请和安装

一&#xff1a;阿里云OSS证书申请和安装 1创建免费证书等待签发 2验证&#xff0c;复制DNS解析配置 3在主体域名中解析DNS&#xff08;记录复制上面的证书申请配置&#xff09; 4验证域名DNS配置 5下载证书 6安装OSS证书 7上传证书&#xff08;下载的证书解压&#xff09…

Paddlepaddle使用自己的VOC数据集训练目标检测(0废话简易教程)

一 安装paddlepaddle和paddledection&#xff08;略&#xff09; 笔者使用的是自己的数据集 二 在dataset目录下新建自己的数据集文件&#xff0c;如下&#xff1a; 其中 xml文件内容如下&#xff1a; 另外新建一个createList.py文件&#xff1a; # -- coding: UTF-8 -- imp…

探索水下低光照图像检测性能,基于DETR(DEtection TRansformer)模型开发构建海底生物检测识别分析系统

海底这类特殊数据场景下的检测模型开发相对来说比较少&#xff0c;在前面的博文中也有一些涉及&#xff0c;感兴趣的话可以自行移步阅读即可&#xff1a; 《尝试探索水下目标检测&#xff0c;基于yolov5轻量级系列模型n/s/m开发构建海底生物检测系统》 《基于YOLOv5C3CBAMCBA…

app逆向-平头哥框架ratel使用

文章目录 一、前言二、实现逻辑1、安装ratel手机端app2、使⽤电脑端进⾏感染目标app3、开发⼀个平头哥插件 一、前言 平头哥&#xff08;ratel&#xff09;是⼀个Android逆向分析⼯具套件&#xff0c;他提供⼀系列渐进式app逆向分析⼯具。同时平头哥也是⼀个app⼆次开发的沙箱…

Java语言概述(三)

Java 是一种通用的、面向对象的编程语言&#xff0c;支持并发编程、网络编程和多线程等特性。它由 Sun Microsystems 公司在 1995 年推出&#xff0c;并且随着其开源和跨平台的特性&#xff0c;Java 已经成为了当今最流行的编程语言之一。 Java 的主要特点包括&#xff1a; 跨…

【运维】站点可靠性工程介绍:研发,运维,SRE,Devops的关系

文章目录 1、什么是SRE2、SRE与研发、运维的区别 1、什么是SRE 站点可靠性工程&#xff08;SRE&#xff09; 是 IT 运维的软件工程方案。 SRE 团队使用软件作为工具&#xff0c;来管理系统、解决问题并实现运维任务自动化。 SRE 执行的任务以前通常由运维团队手动执行&#x…