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 中国大陆许可协议进行许可。

posted @   YaosGHC  阅读(19)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起