洛谷 P1151 子数整数

【题目链接】

洛谷 P1151 子数整数

【题目考点】

1. 循环:数位分离
2. 数字组合

【解题思路】

解法1:取出三个三位数字

对于一个五位数字 a 1 a 2 a 3 a 4 a 5 a_1a_2a_3a_4a_5 a1a2a3a4a5
s u b 1 = a 1 a 2 a 3 sub_1=a_1a_2a_3 sub1=a1a2a3,是x的前3位,要取到前3位的方法是:x/100。
s u b 2 = a 2 a 3 a 4 sub_2=a_2a_3a_4 sub2=a2a3a4,是x的中间3位,要取到中间3位的方法是:x/10%1000。
s u b 3 = a 3 a 4 a 5 sub_3=a_3a_4a_5 sub3=a3a4a5,是x的中间3位,要取到最后3位的方法是:x%1000。
枚举10000~30000的每一个数字,通过计算得到该五位数字分解出的 s u b 1 , s u b 2 , s u b 3 sub_1, sub_2, sub_3 sub1,sub2,sub3,判断这三个数字是否都是k的倍数(除以k的余数为0)
设标志位hasOutput,标记是否有输出。
如果 s u b 1 , s u b 2 , s u b 3 sub_1, sub_2, sub_3 sub1,sub2,sub3这三个数字都是k的倍数,则输出该数字,将hasOutput设为真
最后通过判断hasOutput判断是否有输出,如果没有输出,则输出No。

解法2:将数字数位分离保存到数组

枚举10000~30000的每一个数字,对于一个五位数字 a 1 a 2 a 3 a 4 a 5 a_1a_2a_3a_4a_5 a1a2a3a4a5将其数位分离,保存到数组a中。
而后分别进行数字组合,组合出 s u b 1 = a 1 a 2 a 3 sub_1=a_1a_2a_3 sub1=a1a2a3 s u b 2 = a 2 a 3 a 4 sub_2=a_2a_3a_4 sub2=a2a3a4 s u b 3 = a 3 a 4 a 5 sub_3=a_3a_4a_5 sub3=a3a4a5
判断这三个数字是否都是k的倍数,是则输出。
最后如果没有输出数字则输出No。

【题解代码】

解法1:取出三个三位数字
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
#define N 105
int main()
{bool hasOutput = false;int k, a, b, c;cin >> k;for(int i = 10000; i <= 30000; ++i){a = i/100;b = i/10%1000;c = i%1000;if(a%k == 0 && b%k == 0 && c%k == 0){hasOutput = true;cout << i << endl;}	}if(hasOutput == false)cout << "No";return 0;
}
解法2:将数字数位分离保存到数组
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;
#define N 105
int main()
{bool hasOutput = false;int k, a[10], sub1, sub2, sub3;cin >> k;for(int i = 10000; i <= 30000; ++i){for(int x = i, d = 5; x > 0; x /= 10, d--)a[d] = x%10;sub1 = a[1]*100+a[2]*10+a[3];sub2 = a[2]*100+a[3]*10+a[4];sub3 = a[3]*100+a[4]*10+a[5];if(sub1%k == 0 && sub2%k == 0 && sub3%k == 0){hasOutput = true;cout << i << endl;}	}if(hasOutput == false)cout << "No";return 0;
}

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

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

相关文章

js中的call() apply() bind()的用法

call() apply() bind() 都是用来重定义this这个对象的,不能改变箭头函数中的this指向 bind方法多了一个括号&#xff0c;bind返回的是一个新的函数&#xff0c;必须调用才能够执行 <!DOCTYPE html> <html lang"en"><head><meta charset"…

【C++进阶(七)】仿函数深度剖析模板进阶讲解

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:C从入门到精通⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习C   &#x1f51d;&#x1f51d; 模板进阶 1. 前言2. 仿函数的概念3. 仿函数的实…

kubectl命令举例

为了使读者能够快速掌握kubectl命令的使用方法&#xff0c;下面对常用的命令进行介绍。 1. kubectl create命令 此命令通过文件或者标准输入创建一个资源对象&#xff0c;支持YAML或者JSON格式的配置文件。例如&#xff0c;如果用户创建了一个Nginx的YAML配置文件&#xff0c…

22.app.js的全局数据共享

app.js中定义的全局变量适合 不修改且仅在js中使用的变量 目录 1 全局变量 2 修改全局变量 3 app.js中的变量不能直接在wxml中渲染 4 全局方法 1 全局变量 比如我现在想定义一个全局的变量something&#xff0c;直接在APP中写就行了 之后你可以在任何一个页面中&…

LCR 075.数组的相对排序

​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;LCR 075. 数组的相对排序 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 先将 arr1 中在 arr2 中出现过的元素按顺序排序&#xff0c;然后将剩余元素按升序排序。 解题代码&#xff1a; c…

代码随想录算法训练营第五十六天 | 动态规划 part 14 | 1143.最长公共子序列、1035.不相交的线、53. 最大子序和(dp)

目录 1143.最长公共子序列思路代码 1035.不相交的线思路代码 53. 最大子序和&#xff08;dp&#xff09;思路代码 1143.最长公共子序列 Leetcode 思路 本题和718. 最长重复子数组 区别在于这里不要求是连续的了&#xff0c;但要有相对顺序&#xff0c;即&#xff1a;“ace” …

软件设计模式系列之二十四——模板方法模式

在软件设计领域&#xff0c;设计模式是一组被反复使用、多次实践验证的经典问题解决方案。其中&#xff0c;模板方法模式是一种行为型设计模式&#xff0c;用于定义一个算法的骨架&#xff0c;将算法中的某些步骤延迟到子类中实现&#xff0c;从而使子类可以重新定义算法的某些…

Unity调用API函数对系统桌面和窗口截图

Unity3D调用WINAPI函数对系统窗口截图 引入WINAPI函数调用WINAPI函数进行截图使用例子 引入WINAPI函数 using System; using System.Collections; using System.Runtime.InteropServices; using System.Drawing;[DllImport("user32.dll")]private static extern Int…

JAVA 泛型、序列化和复制

泛型提供了编译时类型安全检测机制&#xff0c;该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型&#xff0c;也就是说所操作的数据类型被指定为一个参数。比如我们要写一个排序方法&#xff0c;能够对整型数组、字符串数组甚至其他任何类型的数组进行排序&a…

计算机网络(五):运输层

参考引用 计算机网络微课堂-湖科大教书匠计算机网络&#xff08;第7版&#xff09;-谢希仁 1. 运输层概述 之前所介绍的计算机网络体系结构中的物理层、数据链路层以及网络层它们共同解决了将主机通过异构网络互联起来所面临的问题&#xff0c;实现了主机到主机的通信&#xff…

es的nested查询

一、一层嵌套 mapping: PUT /nested_example {"mappings": {"properties": {"name": {"type": "text"},"books": {"type": "nested","properties": {"title": {"t…

响应式Web设计:移动优先的方法

在当今数字时代&#xff0c;移动设备已经成为人们日常生活中不可或缺的一部分。从智能手机到平板电脑&#xff0c;人们几乎无时无刻不在使用移动设备来浏览网站、查看社交媒体和购物。因此&#xff0c;对于博主和网站所有者来说&#xff0c;确保他们的网站在各种屏幕大小和设备…

AtCoder Beginner Contest 233 (A-Ex)

A.根据题意模拟即可 B.根据题意模拟即可 C.直接用map 进行dp即可 D.用前缀和进行模拟&#xff0c;用map统计前缀和&#xff0c;每次计算当前前缀和-k的个数就是以当前点为右端点答案。 E - Σ[k0..10^100]floor(X&#xff0f;10^k) (atcoder.jp) &#xff08;1&#xff09;…

Java 多输入框查询需求实现

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; 多输入框查询 需求分析 任意一个输入框&#xff0c;输入内容点击搜索都可以精准搜索到对应的内容 代码实现 Controller接口编写 PostMapping("merchant/manage&…

分享Arduino环境下加速下载 第三方库或芯片包

Content 问题描述问题解决 问题描述 众所周知&#xff0c;由于网络的问题&#xff0c;导致Arduino里面的包下载速度非常慢&#xff0c;甚至下了非常久&#xff0c;最后也还是出现下载失败的情况。 有的人打开了加速器&#xff0c;但是也依旧是速度非常慢&#xff0c;为什么呢…

FFmpeg 基础模块:下载编译与安装、常用命令、处理流程

FFmpeg源码下载 我们会逐步分析作为 API 用户我们需要了解的 FFmpeg 中的重要模块&#xff0c;比如 AVFormat 模块、AVcodec 模块、AVfilter 模块、swscale 模块、swresample 模块。 在具体讲解如何使用 FFmpeg 的 API 之前&#xff0c;为了方便你查看 API 对应的代码&#x…

Kafka日志索引详解以及生产常见问题分析与总结

文章目录 1、Kafka的Log日志梳理1.1、Topic下的消息是如何存储的&#xff1f;1.1.1、 log文件追加记录所有消息1.1.2、 index和timeindex加速读取log消息日志。 1.2、文件清理机制1.2.1、如何判断哪些日志文件过期了1.2.2、过期的日志文件如何处理 1.3、Kafka的文件高效读写机制…

使用UE4 HttpRequest提交多表单

大部分HTTP库都是支持直接设置多表单字段的&#xff0c;但UE4的HttpRequest比较惨&#xff0c;只能用SetContent设置整个的TArray<uint8>作为请求体&#xff0c;所以想要传多表单就要自己拼。 首先设置Header&#xff0c;Content-Type设置为多表单&#xff0c;并设置bou…

不做静态化,当部署到服务器上的项目刷新出现404【已解决】

当线上项目刷新出现404页面解决方法&#xff1a; 在nginx配置里加入这样一段代码 try_files $uri $uri/ /index.html; 它的作用是尝试按照给定的顺序访问文件 变量解释 try_files 固定语法 $uri 指代home文件(ip地址后面的路径&#xff0c;假如是127.0.0.1/index/a.png&…

OpenGLES:绘制一个混色旋转的3D圆柱

一.概述 上一篇博文讲解了怎么绘制一个混色旋转的立方体 这一篇讲解怎么绘制一个混色旋转的圆柱 圆柱的顶点创建主要基于2D圆进行扩展&#xff0c;与立方体没有相似之处 圆柱绘制的关键点就是将圆柱拆解成&#xff1a;两个Z坐标不为0的圆 一个长方形的圆柱面 绘制2D圆的…