感觉这道题目测试数有漏洞,题目也有点问题。
如果保留10精度,必将有可能会有进制,输出的数可能是1的10精度,也就是1.0000000000
我的代码没有考虑这部分竟然直接过了

  1. import java.util.Scanner;
  2. public class Main_1178 {
  3. public static void main(String[] args) {
  4. Scanner sc=new Scanner(System.in);
  5. while(sc.hasNext()) {
  6. String[] s=sc.nextLine().split("/");
  7. int a=Integer.parseInt(s[0]);
  8. int b=Integer.parseInt(s[1]);
  9. int c;
  10. String re=".";
  11. for(int i=0;i<9;i++) {
  12. c=a*3/b;
  13. a=a*3%b;
  14. re=re+c;
  15. }
  16. c=a*3/b;
  17. a=a*3%b;
  18. if(a*3/b==2&&c<=1) {
  19. c++;
  20. re=re+c;
  21. }else if(a*3/b==2&&c==2) {
  22. //没考虑的情况,感觉这里进位可能变为1
  23. }else
  24. re=re+c;
  25. System.out.println(re);
  26. }
  27. }
  28. }
点赞(0)
 

9.9 分

1 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论