2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: num
2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: numerator = 1, denominator = 2,输出: “0.5”。输入: numerator = 2, denominator = 3,输出: “0.(6)”。力扣166。
福大大 答案2021-10-20:
1.分子/分母,求得整数部分。
2.分子=分子%10。
3.然后分子=分子*10,然后重复第1步。
时间复杂度:O(lgN)。
空间复杂度:O(lgN)。
代码用golang编写。代码如下:、
package mainimport "fmt"func main() {a := 3b := 11ret := fractionToDecimal(a, b)fmt.Println(ret)fmt.Println(3.0 / 11.0)
}
func fractionToDecimal(numerator, denominator int) string {if numerator == 0 {return "0"}//StringBuilder res = new StringBuilder();res := make([]byte, 0)// "+" or "-"//res.append(((numerator > 0) ^ (denominator > 0)) ? "-" : "");if (numerator > 0 && !(denominator > 0)) || (!(numerator > 0) && denominator > 0) {res = append(res, []byte("-")...)} else {res = append(res, []byte("")...)}num := Abs(numerator)den := Abs(denominator)// integral part//res.append(num / den);res = append(res, []byte(fmt.Sprint(num/den))...)num %= denif num == 0 {return string(res)}// fractional partres = append(res, []byte(".")...)map0 := make(map[int]int)map0[num] = len(res)for num != 0 {num *= 10res = append(res, []byte(fmt.Sprint(num/den))...)num %= denif _, ok := map0[(num)]; ok {index := map0[num]//res.insert(index, "(")rescopy := make([]byte, 0)rescopy = append(rescopy, res[0:index]...)rescopy = append(rescopy, []byte("(")...)rescopy = append(rescopy, res[index:]...)res = rescopyres = append(res, []byte(")")...)break} else {map0[num] = len(res)}}return string(res)
}func Abs(a int) int {if a < 0 {return -a} else {return a}
}
执行结果如下:
左神java代码
2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: num相关推荐
- A+B问题的题目描述如下:给定两个整数A和B,输出A+B的值。保证A、B及结果均在整型范围内。
A+B问题的题目描述如下:给定两个整数A和B,输出A+B的值.保证A.B及结果均在整型范围内 输入 一行,包含两个整数A,B,中间用单个空格隔开.A和B均在整型范围内. 输出 一个整数,即A+B的值. ...
- 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
记录自己坑了又坑的每一天: 原题: 给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 div ...
- 给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。
给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符.返回被除数 dividend 除以除数 divisor 得到的商.示例 1:输入: ...
- 1.素数和题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,
1.素数和(5分) 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个 ...
- 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n ...
- 题目;我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推现在,给定两个整数n和m,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素
题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的 ...
- 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素
题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的 ...
- 素数和(5分) 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的
素数和(5分) 题目内容: 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数 ...
- 我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推。现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素
我们认为2是第一个素数,3是第二个素数,5是第三个素数,依次类推. 现在,给定两个整数n和m,0<n<=m<=200,你的程序要计算第n个素数到第m个素数之间所有的素数的和,包括第n ...
最新文章
- mysql5.7与8.0用那个_MySQL 5.7 vs 8.0,哪个性能更牛?
- 内核aio_AIO 的主要内核参数 | 学步园
- 动态sql拼接单引号与 变量赋值
- 算法艺术——网络最大流
- Java面向对象part2
- 时频分析:短时傅里叶变换应用
- Git 搭建私有仓库
- java 匿名访问权限_java-春季安全性allowAll()不允许匿名访问
- 九度OJ 1008:最短路径问题 (最短路)
- SAP UI5 log level
- 著名设计师的标志(Logo)设计观
- 将某表某列数据复制到另一张表的某列
- 2. Magento2 --- (2) theme --- structure
- java二维数组冷知识
- 【个人总结】清除样式(间距、浮动、定位)
- 简明python教程电子书下载_简明Python教程PDF
- windows7中文企业版安装英文语言包
- 增值税发票税控开票软件 无法正常启动
- WebClient发布到IIS后访问共享文件提示用户名或密码错误(已设置凭证)
- 树莓派制作内网dns服务器,树莓派使用dnsmasq搭建DNS服务器
热门文章
- 微信公众号二次开发实现自动回复文字,图片,图文功能
- 项目启动大会的注意事项
- Error response from daemon: conflict: unable to delete a9ac6b268134 (must be forced) - image is bein
- 路由器配置深入浅出—路由器接口PPP协议封装及PAP和CHAP验证配置
- Sonatype Nexus: Recommended file descriptor limit is 65536 but count is 4096
- java时区时间ZoneOffset, ZoneId,OffsetTime,OffsetDateTime,ZonedDateTime
- 计算机上DEL和INS怎么转换,HGVS命名之【缺失插入】Deletion-insertion (delins/indel)
- 电脑上最值得安装的软件,这10款里一定有你想要的
- 服务器ae是什么位置,ae 渲染服务器
- Fibo Rule决策引擎应用实践