PAT Basic 1088. 三人行 (C語(yǔ)言實(shí)現(xiàn))

我的PAT系列文章更新重心已移至Github,歡迎來(lái)看PAT題解的小伙伴請(qǐng)到Github Pages瀏覽最新內(nèi)容。此處文章目前已更新至與Github Pages同步。歡迎star我的repo。

題目

子曰:“三人行,必有我?guī)熝?。擇其善者而從之,其不善者而改之?!?/p>

本題給定甲、乙、丙三個(gè)人的能力值關(guān)系為:甲的能力值確定是 2 位正整數(shù);把甲的能力值的 2 個(gè)數(shù)字調(diào)換位置就是乙的能力值;甲乙兩人能力差是丙的能力值的 X
倍;乙的能力值是丙的 Y 倍。請(qǐng)你指出誰(shuí)比你強(qiáng)應(yīng)“從之”,誰(shuí)比你弱應(yīng)“改之”。

輸入格式:

輸入在一行中給出三個(gè)數(shù),依次為:M(你自己的能力值)、X 和 Y。三個(gè)數(shù)字均為不超過(guò) 1000 的正整數(shù)。

輸出格式:

在一行中首先輸出甲的能力值,隨后依次輸出甲、乙、丙三人與你的關(guān)系:如果其比你強(qiáng),輸出 Cong;平等則輸出 Ping;比你弱則輸出
Gai。其間以 1 個(gè)空格分隔,行首尾不得有多余空格。

注意:如果解不唯一,則以甲的最大解為準(zhǔn)進(jìn)行判斷;如果解不存在,則輸出 No Solution。

輸入樣例 1:

48 3 7

輸出樣例 1:

48 Ping Cong Gai

輸入樣例 2:

48 11 6

輸出樣例 2:

No Solution

思路

半個(gè)數(shù)學(xué)題。

大致思路:

  • 由于甲乙兩人的成績(jī)數(shù)字相反,那么我們循環(huán)遍歷兩個(gè)一位數(shù)m, n,每次用m和n組合成兩人的成績(jī)。
    • 注意題目要求甲的最大解,因此遍歷從大到小遍歷,并且以外層遍歷變量作十位,內(nèi)層做個(gè)位,這樣即先得到最大解
  • 解成立條件:abs(甲-乙) * Y == 乙 * X。輸出時(shí)比較一下,很簡(jiǎn)單
    • 注意一點(diǎn),題目沒(méi)有限制成績(jī)必須為整數(shù),因此丙的成績(jī)?cè)试S為小數(shù),不能多慮

代碼

最新代碼@github,歡迎交流

#include <stdio.h>

int main()
{
    int m, n, a, b, X, Y, M, diffab;
    double c;
    scanf("%d %d %d", &M, &X, &Y);

    for(m = 9; m > 0; m--)
    {
        for(n = 9; n >= 0; n--)
        {
            a = 10 * m + n;
            b = 10 * n + m;
            diffab = 9 * (m > n ? m - n : n - m);
            if(diffab * Y == b * X)
            {
                c = b * 1.0 / Y;
                printf("%d", a);
                printf(a > M ? " Cong" : (a == M ? " Ping" : " Gai"));
                printf(b > M ? " Cong" : (b == M ? " Ping" : " Gai"));
                printf(c > M ? " Cong" : (c == M ? " Ping" : " Gai"));
                return 0;
            }
        }
    }

    printf("No Solution");
    return 0;
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 《四柱特訓(xùn)班講義》一書(shū),是筆者根據(jù)2003年春舉辦的四柱特訓(xùn)班講課記錄的基礎(chǔ)上整理出來(lái)的。它是以《四柱詳真》...
    小狐貍娃娃閱讀 14,218評(píng)論 1 29
  • 題目 子曰:“三人行,必有我?guī)熝?。擇其善者而從之,其不善者而改之?!?本題給定甲、乙、丙三個(gè)人的能力值關(guān)系為:甲的...
    Jingtianer閱讀 448評(píng)論 0 0
  • 大家好!周末一顆重磅炸彈突然掉進(jìn)了英國(guó)房產(chǎn)市場(chǎng)。首相梅姨在事先毫無(wú)征兆的情況下突然在保守黨年會(huì)上宣布將對(duì)海外買(mǎi)房者...
    英華奶爸閱讀 637評(píng)論 0 0
  • 轉(zhuǎn):1、好書(shū)不妨多翻幾遍,重讀是更重要的閱讀;2、不要太珍惜書(shū),該劃線劃線,該寫(xiě)字寫(xiě)字,大不了再買(mǎi)一本,不值幾個(gè)錢(qián)...
    三不主義閱讀 195評(píng)論 0 0
  • 我是直路房產(chǎn)的尹燕強(qiáng), 今天是日精進(jìn)第5天,通過(guò)一天下來(lái),我學(xué)到了: 1、比學(xué)習(xí):今天是2019年的第一天,我要學(xué)...

友情鏈接更多精彩內(nèi)容