首页 > 试题广场 >

小红的正整数构造

[编程题]小红的正整数构造
  • 热度指数:12688 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定一个闭区间 [l,r] 以及一个正整数 x
\hspace{15pt}请在区间内找到一个整数 y,满足 yx 的倍数,即 y\equiv 0\pmod{x}
\hspace{15pt}若存在多个满足条件的 y,输出任意一个;若不存在,输出 -1

输入描述:
\hspace{15pt}在一行上输入三个整数 l,r,x\left(1\leqq l\leqq r\leqq 10^2;\ 1\leqq x\leqq 10^2\right)——区间左右端点与基准倍数。


输出描述:
\hspace{15pt}若存在满足条件的整数 y,在一行上输出 y;否则输出 -1
\hspace{15pt}如果存在多个答案,可以输出任意一个,系统会自动判断其正确性。
示例1

输入

6 10 3

输出

6

说明

69 均为 3 的倍数,本题输出了 6
示例2

输入

8 9 5

输出

-1

说明

区间内不存在 5 的倍数,因此输出 -1
l,r,x = map(int,input().split())
if (l+x-l%x)<=r:
    print(l+x-l%x)
else:
    print(-1)
发表于 2025-08-24 15:55:32 回复(0)
l,r,x=map(int,input().split())
for i in range(l,r+1):
    if i% x==0:
        print(i)
        break
    elif (i % x) != 0 and i ==r:
        print(-1)
        break
发表于 2025-08-12 15:35:52 回复(0)
l,r,x = map(int, input().split())
if not(1 <= l <= r <= 100 and 1 <= x <= 100):
    print('请输入符合题意的l、r、x')
else:
    print(next((t for t in range(l, r+1) if t%x == 0), -1))
发表于 2025-05-13 10:41:03 回复(0)
import sys

l,r,x = map(int,input().split(' '))
num = x
k = 1
while num<l:
    k += 1
    num = k*x
if num <= r:
    print(num)
else:
    print(-1)
发表于 2025-04-10 10:19:33 回复(0)
l,r,x = map(int,input().split( ))
result = -1
for i in range(l,r+1):
    if i % x == 0:
      result = i
print(result)

发表于 2025-03-03 15:10:21 回复(0)