当前位置: 首页 > news >正文

小红的正整数构造【牛客tracker 每日一题】

小红的正整数构造

时间限制:1秒 空间限制:256M

知识点:模拟

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

给定一个闭区间[ l , r ] [l,r][l,r]以及一个正整数x xx
请在区间内找到一个整数y yy,满足y yyx xx的倍数,即y ≡ 0 ( m o d x ) y≡0(\mod x)y0(modx)
若存在多个满足条件的y yy,输出任意一个;若不存在,输出− 1 −11

输入描述:

在一行上输入三个整数l , r , x ( 1 ≦ l ≦ r ≦ 10 2 ; 1 ≦ x ≦ 10 2 ) l,r,x(1≦l≦r≦10^2; 1≦x≦10^2)l,r,x(1lr102;1x102)——区间左右端点与基准倍数。

输出描述:

若存在满足条件的整数y yy,在一行上输出y yy;否则输出− 1 −11
如果存在多个答案,可以输出任意一个,系统会自动判断其正确性。

示例1

输入:

6 10 3

输出:

6

说明:

6 669 99均为3 33的倍数,本题输出了6 66

示例2

输入:

8 9 5

输出:

-1

说明:

区间内不存在5 55的倍数,因此输出− 1 −11

解题思路

本题是基础的区间倍数查找问题,由于数据范围极小,采用线性遍历枚举的方法即可高效解决。

  1. 问题分析:需要在闭区间[ l , r ] [l, r][l,r]中找到任意一个能被x xx整除的正整数,若不存在则返回 -1,存在多个时输出任意一个均可。
  2. 算法选择:由于l llr rr最大仅为 100,区间长度不超过 100,直接遍历区间内每个整数,逐一判断是否为x xx的倍数,实现最简单且不易出错,完全满足时间要求。
  3. 执行逻辑:从区间左端点l ll开始向右遍历,找到第一个满足i % x == 0的数立即输出并结束程序;若遍历完整个区间仍未找到符合条件的数,输出 -1。
  4. 复杂度分析:时间复杂度为O ( r − l + 1 ) O(r-l+1)O(rl+1),最坏情况仅 100 次运算,远低于时间限制。

总结

核心逻辑:线性遍历区间内所有整数,通过取模运算判断是否为x的倍数,找到即提前返回,遍历结束无结果则输出-1。
关键操作:取模整除判定、命中即提前终止程序。
效率保障:数据范围极小,暴力枚举完全满足要求,代码简洁直观无额外开销。

代码简要说明

  1. 变量定义:变量a、b、c分别存储区间左端点、右端点和基准倍数x。
  2. 输入读取:使用scanf读入三个整数,保证输入效率。
  3. 遍历查找:从左端点a到右端点b循环遍历每个数,若当前数能被c整除,则立即输出该数并直接返回,结束程序,保证输出区间内第一个符合条件的倍数。
  4. 无结果处理:循环正常结束说明区间内无符合条件的数,输出 -1。
  5. 提前终止优化:找到第一个符合条件的数就直接退出,无需遍历剩余区间,进一步减少运算量。

代码内容

#include<bits/stdc++.h>usingnamespacestd;#defineendl'\n'typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vvt;typedefpair<ll,ll>pll;constll N=1e3+10;constll INF=1e18;constll M=1e6+10;constll mod=1e9+7;intmain(){ios::sync_with_stdio(0);cin.tie(0),cout.tie(0);ll a,b,c;scanf("%lld%lld%lld",&a,&b,&c);for(ll i=a;i<=b;i++)if(i%c==0){printf("%lld",i);return0;}printf("-1");return0;}
http://www.cnnetsun.cn/news/3274419.html

相关文章:

  • B2B 工业设备的 GEO:为什么你的内容 AI 抓不到、也不引用
  • Unity输入系统重构:事件驱动架构与新版Input System实践
  • 自动驾驶常用开源数据集大全:完整大小、OpenDataLab最全仓库及中国大陆高速下载方法
  • 当渐变开始呼吸:CSS @property 注册可动画自定义属性的工程探索
  • 以客户分层运营破增长瓶颈,好客搜 2026 上半年客户服务体系全面升级
  • RAG 检索增强生成技术全景:从基础原理到企业级实践
  • ADP5350与PIC18F46K80构建智能电源管理系统
  • Spring AI vs LangChain4j:Java 做 AI,到底选哪个框架?(2026 最新对比)
  • 如何从零开始制作一台FOC轮腿机器人:开源DIY完整指南 [特殊字符]
  • 如何快速安装Blue Topaz主题:打造专属笔记环境的完整指南
  • STM32F407ZG与MCP3551高精度ADC系统设计与实现
  • OpenHarmony 完整项目工程整合规范 + 模块化分层架构(API23+ 标准企业级结构)
  • KDNN_torch_adapter完整安装指南:从源码编译到环境配置
  • 【机器人 / 强化学习】DIVL:分布隐式价值学习
  • 性能调优:如何让 uos-dovecot-exporter 监控效率提升 300%
  • Windows 命令提示符(CMD)恶意脚本分析篇
  • A-FOT配置文件深度解读:a-fot.ini关键参数设置与最佳实践 [特殊字符]
  • CCRC-DSA数据安全评估师认证信息整理
  • 3分钟快速修复:VisualCppRedist AIO一站式解决Windows运行库缺失问题
  • openeuler/vectorBlas常见问题解决:新手必知的8个避坑指南
  • 国内外主流 AI 视频软件功能性能对比
  • openEuler安全测试自动化:从UT到AT的完整测试策略
  • lcr未来发展方向:轻量级容器运行时的技术演进路线图
  • ft_engine开发者手册:构建高效Linux图形应用的7个最佳实践
  • 只有 WebSocket 页面在 iOS 回退后显示旧版本的问题解决方案
  • OSAPIChecker社区贡献指南:如何参与这个开源项目的完整教程
  • LTC1864 ADC与MK64FN1M0VDC12微控制器的高精度信号采集方案
  • 2026 Claude API 接入实践:个人开发者如何稳定使用 Claude Code 与 Anthropic 模型
  • 头部智驾集体押注强化学习:突破模仿学习天花板,世界模型+RL量产落地全解析
  • Python 工业边缘 CLI 实战:用 Typer 做参数校验、子命令与帮助文档