首页 > 代码库 > NYOJ题目111分数加减法
NYOJ题目111分数加减法
-------------------------------------------
需要注意的就是考虑各种情况,各种!各种!!各种!!!各种情况,真是一个让人崩溃但是炒鸡修身养性的题啊....:)
AC代码:
1 import java.io.BufferedReader; 2 import java.io.IOException; 3 import java.io.InputStreamReader; 4 5 public class Main { 6 7 public static void main(String[] args) throws IOException { 8 9 BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));10 11 boolean first=true;12 while(first || reader.ready()){13 first=false;14 String expression=reader.readLine();15 String ans=solve(expression);16 System.out.println(ans);17 }18 19 }20 21 public static String solve(String expressions){22 int a=expressions.charAt(0)-‘0‘;23 int b=expressions.charAt(2)-‘0‘;24 int c=expressions.charAt(4)-‘0‘;25 int d=expressions.charAt(6)-‘0‘;26 27 char o=expressions.charAt(3);28 29 if(b==0 || d==0) return "0";30 31 int e=(o==‘-‘)?(a*d-b*c):(a*d+b*c);32 int f=b*d;33 34 if(e==0) return "0";35 if(e==f) return "1";36 if(f==1) return Integer.toString(e);37 38 int t=gcd(Math.abs(e),Math.abs(f));39 if(t==f) return Integer.toString(e/t);40 return String.format("%d/%d",e/t,f/t);41 }42 43 public static int gcd(int a,int b){44 return b==0?a:gcd(b,a%b);45 }46 47 }
题目来源: http://acm.nyist.net/JudgeOnline/problem.php?pid=111
NYOJ题目111分数加减法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。