1088 三人行(JAVA)

简介: 子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”

 

子曰:“三人行,必有我师焉。择其善者而从之,其不善者而改之。”

本题给定甲、乙、丙三个人的能力值关系为:甲的能力值确定是 2 位正整数;把甲的能力值的 2 个数字调换位置就是乙的能力值;甲乙两人能力差是丙的能力值的 X 倍;乙的能力值是丙的 Y 倍。请你指出谁比你强应“从之”,谁比你弱应“改之”。

输入格式:

输入在一行中给出三个数,依次为:M(你自己的能力值)、X 和 Y。三个数字均为不超过 1000 的正整数。

输出格式:

在一行中首先输出甲的能力值,随后依次输出甲、乙、丙三人与你的关系:如果其比你强,输出 Cong;平等则输出 Ping;比你弱则输出 Gai。其间以 1 个空格分隔,行首尾不得有多余空格。

注意:如果解不唯一,则以甲的最大解为准进行判断;如果解不存在,则输出 No Solution

输入样例 1:

48 3 7

image.gif

输出样例 1:

48 Ping Cong Gai

image.gif

输入样例 2:

48 11 6

image.gif

输出样例 2:

No Solution

image.gif

代码实现:

import java.io.*;
/**
 * @author yx
 * @date 2022-07-26 19:36
 */
public class Main {
    static PrintWriter out=new PrintWriter(System.out);
    static BufferedReader ins=new BufferedReader(new InputStreamReader(System.in));
    static StreamTokenizer in=new StreamTokenizer(ins);
    public static void main(String[] args) throws IOException {
        in.nextToken();
        int M=(int) in.nval;
        in.nextToken();
        int X=(int) in.nval;
        in.nextToken();
        int Y=(int) in.nval;
        int jia=0;
        int yi=0;
        /**
         * bing题目中没有说明则有可能是小数,这个点非常关键
         */
        double bing=0;
        for (int i = 99; i >=10 ; i--) {
            jia=i;
            yi=(i%10)*10+i/10;
            bing=Math.abs(jia-yi)/(X*1.0);
            if(yi==bing*Y){
                System.out.print(jia+" ");
                if(jia>M){
                    System.out.print("Cong ");
                }else if(jia==M){
                    System.out.print("Ping ");
                }else {
                    System.out.print("Gai ");
                }
                if(yi>M){
                    System.out.print("Cong ");
                }else if(yi==M){
                    System.out.print("Ping ");
                }else {
                    System.out.print("Gai ");
                }
                if(bing>M){
                    System.out.print("Cong");
                }else if(bing==M){
                    System.out.print("Ping");
                }else {
                    System.out.print("Gai");
                }
                return;
            }
        }
        System.out.println("No Solution");
    }
}

image.gif

image.gif编辑

相关文章
|
4月前
|
存储 Java 数据库连接
Java中的数据持久化技术详解
Java中的数据持久化技术详解
|
Oracle Java 关系型数据库
Java是什么?
Java是什么?
216 0
|
存储 固态存储 Java
JAVA问答13
JAVA问答13
126 0
|
存储 消息中间件 负载均衡
JAVA问答6
JAVA问答6
125 0
1105 链表合并(JAVA)
给定两个单链表 L1​=a1​→a2​→⋯→an−1​→an​ 和 L2​=b1​→b2​→⋯→bm−1​→bm​。如果 n≥2m,你的任务是将比较短的那个链表逆序,然后将之并入比较长的那个链表,得到一个形如 a1​→a2​→bm​→a3​→a4​→bm−1​⋯ 的结果。例如给定两个链表分别为 6→7 和 1→2→3→4→5,你应该输出 1→2→7→3→4→6→5。
1105 链表合并(JAVA)
1062 最简分数(JAVA)
一个分数一般写成两个整数相除的形式:N/M,其中 M 不为0。最简分数是指分子和分母没有公约数的分数表示形式。
1062 最简分数(JAVA)
1086 就不告诉你(JAVA)
做作业的时候,邻座的小盆友问你:“五乘以七等于多少?”你应该不失礼貌地围笑着告诉他:“五十三。”本题就要求你,对任何一对给定的正整数,倒着输出它们的乘积。
1086 就不告诉你(JAVA)
|
Cloud Native Oracle Java
一篇文章和你从 Java1 聊到 Java18
002-2022 年的 20 年里 Java 始终保持在前三的水平,其中在 2005 年、2013-2015 年间、2021 年等时间还多次登顶过第一,这么一个已经发布了 27 年的语言在这些年是怎么始终保持在编程语言前三的呢?这么多年 Java 各个版本间又有什么变化?Java 语言在未来还会继续保持成为语言的常青树吗?这篇文章就来和大家回顾一下 Java 的历史。
293 0
一篇文章和你从 Java1 聊到 Java18
|
Java
Java一些常见的坑
总是觉得自己Java基础还是不行,需要恶补。今天偶然mark了一本《Java解惑》,其中以端程序的方式罗列了95个即常见又不常见的xian(坑)jing(儿),拿来瞻仰一下。
80 0
|
Java
Java常见的坑(二)
你猜上述程序输出的是什么? 是 ABC easy as 123 吗? 你执行了输出操作,你才发现输出的是 ABC easy as [C@6e8cf4c6 ,这么一串丑陋的数字是什么鬼? 实际上我们知道字符串与任何数值的相加都会变为字符串,上述事例也不例外, numbers输出其实实际上是调用了Object.toString()方法,让numbers转变为'[c' + '@' + 无符号的十六进制数。
111 0
下一篇
无影云桌面