刚开始使用float发现存在四舍五入的现象,导致位数计算不准,所以均采用long的格式进行计算结果正确,但是导入官网的判定系统后发现并不太行,也找不出哪里错了。。。。

import java.lang.reflect.Array;
import java.util.Scanner;public class Main {public long gcd(long m,long n){long last=0;while (n!=0){last=m%n;m=n;n=last;}return m;}public static void main(String[] args) {Main fab = new Main();Scanner Input = new Scanner(System.in);int count=Integer.parseInt(Input.nextLine());while (count>0) {String a=Input.nextLine();//找到  .  (  ) 的相应下标,便于提取int m=a.indexOf("."),l=0,n=0;if(a.contains("(")) {n = a.indexOf("(");l = a.indexOf(")");}else {n=a.length();l=n;}//提取数字String b="";//非循环部分String c="";//循环部分for(int k=m+1;k<n;k++)b+=a.charAt(k);for(int k=n+1;k<l;k++)c+=a.charAt(k);long flag=(long)Math.pow(10,b.length());long num1=0;//非循环部分if(b.length()>0)num1=Long.parseLong(b);long  num2=0;//循环部分if(c.length()>0)num2=Long.parseLong(c);String d="";for(int k=0;k<c.length();k++)d+="9";long num3=0;//分母9的个数if(d.length()>0)num3=Long.parseLong(d);if(num2!=0) {//循环小数num2 += num1 * num3;num3 *= flag;}else{//非循环小数num2=num1;num3=flag;}float last=fab.gcd(num2,num3);System.out.println((int)(num2/last)+"/"+(int)(num3/last));count--;}}
}

杭电OJ--1717相关推荐

  1. 杭电OJ分类题目(3)

    原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(3) HDU Computational Ge ...

  2. 杭电OJ(HDOJ)入门题目列表

    杭电OJ链接: http://acm.hdu.edu.cn/ 注册与使用指南: https://blog.csdn.net/qq_38769551/article/details/101510000 ...

  3. 【ACM】杭电OJ 2037

    题目链接:杭电OJ 2037 先把b[i]进行排序,然后,b[i]与a[i+1]进行比较. #include <iostream> #include <cstdio> #inc ...

  4. 【ACM】杭电OJ 2020(排序)

    题目链接:杭电OJ 2020 排序可以有冒泡排序,选择排序,或者直接调用函数. 下面是选择排序: #include <stdio.h> #include <math.h> in ...

  5. 【ACM】杭电OJ 2018

    题目链接:杭电OJ 2018 从n>4开始,每一年的牛的数量=前一年的牛的数量+三年前的牛的数量 问:为什么是三年前? 答:假设三年前有一头小牛出生,出生的那一年即为第一年,到了第四年,即三年后 ...

  6. 【ACM】杭电OJ 1005

     题目链接:杭电OJ 1005 超时代码如下(而且开辟的数组空间大小不够): #include <stdio.h> int m[100000]; int f(int n,int a,int ...

  7. 【ACM】杭电OJ 1004

     题目链接:杭电OJ 1004 运行环境:Dev-C++ 5.11 思路: 先把先把num数组全部赋值为1:第一个颜色单独输入,从第二个开始,需要与前面的进行比较,如果前面有相同的颜色,则在目前的nu ...

  8. 【ACM】杭电OJ 2012。

    题目链接:杭电OJ 2012 思路很简单,但是有一种高效算法显示编译错误,不知道为什么 运行环境:VS2017 AC代码: #include <stdio.h> #include < ...

  9. 【ACM】杭电OJ 1003。

    运行环境VS2017  题目链接:杭电OJ 1003 主要思想是: 用d[i]来存放前i项中最大的和,得到end,然后再倒推,得起始的位置begin 然而在程序42行的疑问,大家可以讨论一下吗???? ...

  10. 【ACM】杭电OJ 1241(深度优先搜索小结)

    题目链接:杭电OJ 1241 深度优先搜索问题 深度优先搜索是搜索的手段之一.它从某个状态开始,不断地转移状态直到无法转移,然后回退到前一步的状态,继续转移到其他状态,如此不断重复,直至找到最终的解. ...

最新文章

  1. 分享我们用Leangoo看板工具做的采购看板,超级好用
  2. SLua 中继承 C# 类接口 Slua.Class 的一个 Bug。
  3. Linux系统编程之进程与线程控制原语对比
  4. vs.net 打开.xaml文件编辑界面_怎么保护可移动磁盘中的文件防止被删除
  5. 【设计模式】 桥梁模式
  6. 智慧交通day03-车道线检测实现02-1:相机校正
  7. Excel2003怎样拆分单元格
  8. 2019幽门螺杆菌指南共识_《幽门螺杆菌感染基层诊疗指南(2019年)》发布! | 指南共识...
  9. [转帖]解密微软中间语言MSIL之调试程序(1)
  10. 2、网站重构之本地映射外网域名
  11. 拯救 中国区 谷歌翻译 解决方案
  12. 云片网短信服务使用Java
  13. 第五章(3)行逻辑链接的顺序表
  14. 特征选择----relief及reliefF算法
  15. 服装设计_服装设计网_服装设计图_服装款式图-POP服饰流行前线
  16. button的几种使用方式
  17. C#与西门子plc,实现自复位按钮控制
  18. oracle数据库dba面试题,DBA笔试题5:SQL汇总
  19. 邻接表:构造只有顶点没有边的图
  20. 玩转路由之 AsusWRT-Merlin 与 Entware

热门文章

  1. 10.8 UiPath 数据筛选Filter Data Table的介绍和使用(Excel数据写入另一个Excel中)
  2. Aras学习笔记 (7) Aras Innovator Method集成Visual Studio
  3. 宏碁收购Gateway 12天上演变脸大戏
  4. 微信小程序毕业论文题目_SSM项目源码校园辩论管理平台+后台管理系统
  5. css界面内容可滚动_带有CSS滚动捕捉点的直观滚动界面
  6. 远程开发的7个最佳实践
  7. AOP基于注解环绕通知
  8. 通过拖坠自动生成html页面,网页制造开端—html.ppt
  9. 大厂没有方法论(下)
  10. 读书笔记-人月神话2