【编程】【2017京东java实习生编程题】分堆

来源:互联网 发布:php get和post的区别 编辑:程序博客网 时间:2024/05/18 19:38

题目

http://exercise.acmcoder.com/online/online_judge_ques?ques_id=4410&konwledgeId=41


import java.util.Scanner;/** * 分堆主要是考察思维逻辑 * 想要尽可能多的堆数  那就是k k+1 k...不浪费一点石头 * */public class Main {    public static void main(String[] args) {        Scanner scanner=new Scanner(System.in);        int n=scanner.nextInt();        int k=scanner.nextInt();        int result=2*(n/(2*k+1));        if ((n%(2*k+1)>=k)){            result=2*(n/(2*k+1))+1;        }        System.out.println(result);    }}

java的求余

package com.smart.reflect;import java.math.*;public class Main {    public static void main(String[] args) {        // create 3 BigInteger objects        BigInteger bi1, bi2, bi3, bi4;        bi1 = new BigInteger("-100");        bi2 = new BigInteger("3");        // perform mod operation on bi1 using bi2        bi3 = bi1.mod(bi2);  //这里bi2不能小于0  否则是会报错的        bi4 = bi1.remainder(bi2);        String str = bi1 + " mod " + bi2 + " is " + bi3;        String str2 = bi1 + " rem " + bi2 + " is " + bi4;        // print bi3 value        System.out.println(str);        System.out.println(str2);    }}/** * 如果是100 3 两个的结果都是1 * 如果是-100 3 mod的结果是2 rem的结果是-1 * 因为在mod中如果除数和被除数符号不一致的情况下 返回的结果就是bi2-abs(正常的结果值) 100 mod 3 is 1 100 rem 3 is 1 -100 mod 3 is 2 -100 rem 3 is -1 * */


0 0
原创粉丝点击