首页 > 试题广场 >

小红的正整数构造

[编程题]小红的正整数构造
  • 热度指数: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
package main

import (
    "fmt"
)

func main() {
    var l, r, x int
    fmt.Scan(&l,&r,&x)
    v := -1
    if l%x == 0 {
        v = l
    } else {
        v = (l/x + 1) * x
        if v > r {
            v = -1
        }
    }
    fmt.Println(v)

}


发表于 2025-05-13 17:36:39 回复(0)