- 浏览: 252614 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
mabusyao:
漠北空城 写道请问下,你这个是JDK版本是多少呢?!忘记了,应 ...
HashMap 源码解读 -
漠北空城:
请问下,你这个是JDK版本是多少呢?!
HashMap 源码解读 -
schumee:
完美团队~
项目沉思录 - 1.1 -
winie:
整理下 搞成引擎嘛 国产需要这样的engine
简单工作流引擎 -
mabusyao:
某位同学给我提供的堪称完美的解决方案:1. 将三个int数组放 ...
CraneWork
/*Problem Statement
A rational number is defined as a/b, where a and b are integers, and b is greater than 0.
Furthermore, a rational number can be written as a decimal that has a group of digits that repeat indefinitely.
A common method of writing groups of repeating digits is to place them inside parentheses like 2.85(23) = 2.852323 ... 23...
Given a decimal representation of a rational number in decimalNumber, convert it to a fraction formatted as "numerator/denominator",
where both numerator and denominator are integers.
The fraction must be reduced. In other words, the denominator must be as small as possible, but greater than zero.
Definition
Class: RecurringNumbers
Method: convertToFraction
Parameters: String
Returns: String
Method signature: String convertToFraction(String decimalNumber)
(be sure your method is public)
Constraints
- decimalNumber will have between 3 and 10 characters inclusive.
- decimalNumber will contain only characters '0' - '9', '.', '(' and ')'.
- The second character in decimalNumber will always be '.'.
- There will be at most one '(' and ')' in decimalNumber.
- '(' in decimalNumber will be followed by one or more digits ('0' - '9'), followed by ')'.
- ')' in decimalNumber will not be followed by any other character.
Examples
0) "0.(3)" Returns: "1/3" 0.(3) = 0.333... = 1/3
1) "1.3125" Returns: "21/16" Note there are no recurring digits here, although we could write it as 1.3125(0) or 1.3124(9).
2) "2.85(23)" Returns: "14119/4950"
2.85(23) = 2.852323... = 285/100 + 23/9900 = 28238/9900 = 14119/4950. Make sure to reduce the fraction, as shown in the final step.
3) "9.123(456)" Returns: "3038111/333000"
4) "0.111(1)" Returns: "1/9"
5) "3.(000)" Returns: "3/1"
This problem statement is the exclusive and proprietary property of TopCoder, Inc.
Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited.
(c)2003, TopCoder, Inc. All rights reserved. */
package recurringNumbers;
public class RecurringNumbers {
static String intPart = null;
static String stablePart = null;
static String recPart = null;
private static void checkFormat(String num) throws Exception{
if(num.indexOf(".") == -1) {
Integer.valueOf(num).intValue();
intPart = num;
}
else {
String[] values = new String[2];
values[0] = num.substring(0, num.indexOf("."));
values[1] = num.substring(num.indexOf(".") + 1);
//if(values.length != 2) throw new NumberFormatException();
Integer.valueOf(values[0]).intValue();
intPart = values[0];
if(!values[1].contains("(")) {
Integer.valueOf(values[1]).intValue();
stablePart = values[1];
} else {
if(! values[1].contains(")") || values[1].indexOf("(") > values[1].indexOf(")")) throw new NumberFormatException();
if(values[1].indexOf("(") != 0){
Integer.valueOf(values[1].substring(0, values[1].indexOf("("))).intValue();
stablePart = values[1].substring(0, values[1].indexOf("("));
}
Integer.valueOf(values[1].substring(values[1].indexOf("(") + 1, values[1].indexOf(")"))).intValue();
recPart = values[1].substring(values[1].indexOf("(") + 1, values[1].indexOf(")"));
}
}
}
public static String convertToFraction(String decimalNumber) throws Exception{
checkFormat(decimalNumber);
Real realInt = null;
realInt = new Real(Integer.valueOf(intPart).intValue(), 1);
Real realStable = null;
if(stablePart != null) {
StringBuffer temp = new StringBuffer();
temp.append("1");
for (int i = 0; i < stablePart.length(); i++) {
temp.append("0");
}
realStable = new Real(Integer.valueOf(stablePart).intValue(), Integer.valueOf(temp.toString()).intValue());
}
Real realRec = null;
if(recPart != null) {
StringBuffer temp = new StringBuffer();
for (int i = 0; i < recPart.length(); i++) {
temp.append("9");
}
if(stablePart != null && stablePart.length() > 0) {
for (int j = 0; j < stablePart.length(); j++) {
temp.append("0");
}
}
realRec = new Real(Integer.valueOf(recPart).intValue(), Integer.valueOf(temp.toString()).intValue());
}
Real result = realInt;
if(realStable != null) result = Real.plus(result, realStable);
if(realRec != null) result = Real.plus(result, realRec);
return result.show();
}
}
class Real {
int num = 0;
int den = 0;
Real(int num, int den){
int temp = gcd(num, den);
if(temp != 0) {
this.num = num/temp;
this.den = den/temp;
}
else {
this.num = num;
this.den = den;
}
}
int gcd(int a, int b) {
if (b == 0) return a;
if (b > a) return gcd(b, a);
else return gcd(b, a % b);
}
String show() {
StringBuffer temp = new StringBuffer();
temp.append("result is:").append(" " + this.num).append("/" + this.den);
return temp.toString();
}
static Real plus(Real a, Real b) {
Real temp = new Real(a.num * b.den + a.den * b.num, a.den * b.den);
return temp;
}
}
发表评论
-
大数据下的实体解析
2016-07-07 12:03 671大数据时代的实体解析困境 <!--[if !sup ... -
中文相似度匹配算法
2015-12-30 14:44 1921基于音形码的中文字 ... -
各种语言写的wordcount
2015-09-24 16:07 0Java版本: String input ... -
数组双指针算法的研究
2015-07-14 16:59 2454双指针算法在数组/链 ... -
摩尔投票法
2015-06-30 20:13 18403摩尔投票法 提问: 给定一个int型数组,找出该数 ... -
(转)最长回文字串算法
2015-01-18 14:30 1436来自(http://blog.163.com/zhaohai ... -
STRUTS2 源码 - Logging System
2012-05-24 08:51 1399看了STRUTS2的源码,了解了它的logging系统,觉得还 ... -
在线词典的数据结构实现。
2012-05-18 08:37 0昨天在网上看到了一道百度的面试题: Baidu写道 ... -
存储中间计算结果的动态规划算法
2012-04-18 15:50 1213public class RodCutting { ... -
java写的四则运算器
2011-08-19 22:19 2708本打算做一个从RE到NFA的转换器,思路已经理清了,但是在动手 ... -
什么是最小二乘拟合
2007-09-14 21:27 958对于一个数据点(x1, y1), ... (xn, yn)的集 ... -
palindrome
2008-07-14 17:39 982package palindrome;/*Problem St ... -
CraneWork
2008-07-14 19:14 1014/*Problem Statement There are ... -
SalesRouting
2008-07-15 10:53 784package salesRouting;/*Problem ... -
FactorialSystem
2008-07-21 19:36 852/*Problem StatementIn the facto ... -
HardDuplicateRemover
2008-07-23 15:17 916/*Problem StatementWe have a se ... -
BlockStructure
2008-07-23 20:55 795/*Problem StatementA group of v ... -
SkipStones
2008-07-28 17:31 823/*Problem StatementWhen a stone ... -
TheaterVisit
2008-07-28 17:31 779/*Problem StatementYou want to ... -
SquareDigits
2010-07-06 12:36 1024Problem Statement ***Note: ...
相关推荐
串流分屏 - 两台笔记本电脑屏幕共享
tornado-6.3.2-cp38-abi3-musllinux_1_1_x86_64.whl
基于java的银行业务管理系统答辩PPT.pptx
TA_lib库(whl轮子),直接pip install安装即可,下载即用,非常方便,各个python版本对应的都有。 使用方法: 1、下载下来解压; 2、确保有python环境,命令行进入终端,cd到whl存放的目录,直接输入pip install TA_lib-xxxx.whl就可以安装,等待安装成功,即可使用! 优点:无需C++环境编译,下载即用,方便
"Turkish Law Dataset for LLM Finetuning" 是一个专为法律领域预训练的大型语言模型(LLM)微调而设计的数据集。这个数据集包含了大量的土耳其法律文本,旨在帮助语言模型更好地理解和处理土耳其法律相关的查询和文档。 该数据集的特点包括: 专业领域:专注于土耳其法律领域,提供了大量的法律文本和案例,使模型能够深入学习法律语言和术语。 大规模:数据集规模庞大,包含了超过1000万页的法律文档,总计约135.7GB的数据,这为模型提供了丰富的学习材料。 高质量:数据经过清洗和处理,去除了噪声和非句子文本,提高了数据质量,使得模型训练更加高效。 预训练与微调:数据集支持预训练和微调两个阶段,预训练阶段使用了大量的土耳其语网页数据,微调阶段则专注于法律领域,以提高模型在特定任务上的表现。 多任务应用:微调后的模型可以应用于多种法律相关的NLP任务,如法律文本摘要、标题生成、文本释义、问题回答和问题生成等。 总的来说,这个数据集为土耳其法律领域的自然语言处理研究提供了宝贵的资源,有助于推动土耳其语法律技术的发展,并为法律专业人士提供更精准的技术支持。通过微调,
农业信息化服务平台 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
tornado-6.1b2-cp36-cp36m-manylinux2010_i686.whl
计算机NLP_预训练模型文件
随心淘网管理系统 SSM毕业设计 附带论文 启动教程:https://www.bilibili.com/video/BV1GK1iYyE2B
计算机汇编杂谈-理解其中的原理
基于java的藏区特产销售平台答辩PPT.pptx
本压缩包资源说明,你现在往下拉可以看到压缩包内容目录 我是批量上传的基于SpringBoot+Vue的项目,所以描述都一样;有源码有数据库脚本,系统都是测试过可运行的,看文件名即可区分项目~ |Java|SpringBoot|Vue|前后端分离| 开发语言:Java 框架:SpringBoot,Vue JDK版本:JDK1.8 数据库:MySQL 5.7+(推荐5.7,8.0也可以) 数据库工具:Navicat 开发软件: idea/eclipse(推荐idea) Maven包:Maven3.3.9+ 系统环境:Windows/Mac
安装包
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
Windows x64 操作系统上安装 Python 3.11 版本对应的dlib库,操作简单,无需pip在下载,再也不怕网络超时等其他不确定错误 使用方法: 1、确保windows x64系统上安装了python,可以用anaconda自带的python 2、确认python版本为3.11版本 3、下载资源解压为dlib-19.24.1-cp311-cp311-win_amd64.whl到本地,cd到对应目录,终端直接输入命令pip install dlib-19.24.1-cp311-cp311-win_amd64.whl 等待安装成功提示就可以用了,非常方便,有使用问题欢迎私信哟!
Jira插件安装包
项目经过测试均可完美运行! 环境说明: 开发语言:java jdk:jdk1.8 数据库:mysql 5.7+ 数据库工具:Navicat11+ 管理工具:maven 开发工具:idea/eclipse
tornado-6.1b2.tar.gz