加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 最近的可分整数

发布时间:2020-12-14 23:39:16 所属栏目:Java 来源:网络整理
导读:例. int a = 254;int b = 25;int c = (closest integer to `a` that is divisible by `b`) 我怎样才能找到整数c?该示例的结果是c = 250. 解决方法 有两种情况需要考虑: 最接近的小于或等于a的整数: int c1 = a - (a % b); 最接近的整数大于a: int c2 = (
例.
int a = 254;
int b = 25;

int c = (closest integer to `a` that is divisible by `b`)

我怎样才能找到整数c?该示例的结果是c = 250.

解决方法

有两种情况需要考虑:

>最接近的小于或等于a的整数:

int c1 = a - (a % b);

>最接近的整数大于a:

int c2 = (a + b) - (a % b);

然后我们需要检查哪个更靠近a并返回:

int c;
if (a - c1 > c2 - a) {
    c = c2;
} else {
    c = c1;
}

所以我们可以像这样创建一个nearestInteger()方法:

static int closestInteger(int a,int b) {
    int c1 = a - (a % b);
    int c2 = (a + b) - (a % b);
    if (a - c1 > c2 - a) {
        return c2;
    } else {
        return c1;
    }
}

例:

System.out.println(closestInteger(254,25));
System.out.println(closestInteger(9,5));

输出:

250
10

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读