3184-2020-Java-国赛-4-2
这个题有点意思,是解一个二元一次方程,手算很简单,但是怎么用算法来解还真没想过,一下子好像也没什么思路
import java.util.*; import java.io.*; class Main{ public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer tokenizer = new StringTokenizer(reader.readLine()); int milk = Integer.parseInt(tokenizer.nextToken()); int tea = Integer.parseInt(tokenizer.nextToken()); double x = (milk-tea)/10.0; double y = (3*tea-milk)/20.0; if(x>=0&&y>=0&&x%1==0&&y%1==0){ System.out.print((int)x+" "+(int)y); }else { System.out.println(-1); } } }
边界条件首先是都为0的情况要包含,另外注意这个除运算要用double丢失精度,后面才能做是否为整的判断,但是输出的时候又要把这个精度转回来,不然判断不过
本文作者:YaosGHC
本文链接:https://www.cnblogs.com/yaocy/p/16864700.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步