Here you can find the source of divWithRound(long p, long q)
Parameter | Description |
---|---|
p | to delete |
q | should be positive |
protected static long divWithRound(long p, long q)
//package com.java2s; /*//from w w w. j a v a 2 s . c o m * Copyright 2016 Dmitry Spikhalskiy. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ public class Main { /** * * @param p to delete * @param q should be positive * @return division result with rounding */ protected static long divWithRound(long p, long q) { long div = p / q; long floor; long ceil; if (p >= 0) { floor = q * div; ceil = floor + q; return (ceil - p >= p - floor) ? div : div + 1; } else { ceil = q * div; floor = ceil - q; return (ceil - p <= p - floor) ? div : div - 1; } } }