博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codewars039: Odd/Even number of divisors
阅读量:6218 次
发布时间:2019-06-21

本文共 1270 字,大约阅读时间需要 4 分钟。

hot3.png

package codewars;//https://www.codewars.com/kata/55830eec3e6b6c44ff000040/train/javaimport java.math.BigInteger;public class Oddity{    public static String oddity(BigInteger n){        BigInteger low = BigInteger.ONE;        final BigInteger TWO = new BigInteger("2");        BigInteger high = n;        while(low.compareTo(high) <= 0){            BigInteger mid = null;            if(BigInteger.ZERO.compareTo(low.add(high).mod(TWO)) == 0){                mid = low.add(high).divide(TWO);            }else{                mid = low.add(high).divide(TWO).add(BigInteger.ONE);            }                int temp = mid.multiply(mid).compareTo(n);            if(temp == 0){                return "odd";            }else if(temp < 0){                low = mid.add(BigInteger.ONE);            }else{                high = mid.substract(BigInteger.ONE);            }               }           return "even";     }    }

import static org.junit.Assert.assertEquals;import org.junit.Test;import java.math.BigInteger;public class OddityTest{    @Test        public void exampleTests(){        assertEquals("odd", Oddity.oddity(BigInteger.valueOf(4)));        assertEqulas("even", Oddity.oddity(BigInteger.valueOf(12)));    }    }

转载于:https://my.oschina.net/u/553266/blog/813823

你可能感兴趣的文章
Android性能全面分析与优化方案研究
查看>>
springCloud经验
查看>>
php连接mysql时常用的函数
查看>>
xcode UILabel分页计算(转来收藏)
查看>>
【转】:胡适致毕业生:在不健全的中国,如何不堕落。
查看>>
Js作用域链及变量作用域
查看>>
linux下mysql的root密码忘记解决方案
查看>>
各种开源协议的简述
查看>>
群里看到的一个基础的问题。先记录下
查看>>
mybatis学习笔记(17)-spring和mybatis整合
查看>>
不一样的事件总线 - NextEvents
查看>>
web.xml中load-on-startup的作用
查看>>
linux下远程桌面xp rdesktop
查看>>
REDIS的命令
查看>>
蚂蚁金服Java开发一面
查看>>
工厂模式------之三
查看>>
MySQL 5.6以上解压版的服务配置和使用
查看>>
AndEngine: Using the Object Pool
查看>>
Postgres-XL概述
查看>>
修改ssh默认端口号
查看>>