1. 程式人生 > 實用技巧 >洛谷-P4956 [COCI2017-2018#6] Davor

洛谷-P4956 [COCI2017-2018#6] Davor

洛谷-P4956 [COCI2017-2018#6] Davor

原題連結:https://www.luogu.com.cn/problem/P4956


題目描述

在征服南極之後,Davor 開始了一項新的挑戰。下一步是在西伯利亞、格林蘭、挪威的北極圈遠征。他將在 \(2018\)\(12\)\(31\) 日開始出發,在這之前需要一共籌集 \(n\) 元錢。他打算在每個星期一籌集 \(x\) 元,星期二籌集 \(x+k\) 元,……,星期日籌集 \(x+6k\) 元,並在 \(52\) 個星期內籌集完。其中 \(x,k\) 為正整數,並且滿足 \(1 \le x \le 100\)

現在請你幫忙計算 \(x,k\) 為多少時,能剛好籌集 \(n\) 元。

如果有多個答案,輸出 \(x\) 儘可能大,\(k\) 儘可能小的。注意 \(k\) 必須大於 \(0\)

輸入格式

輸入的第一行包含整數N(1456≤N≤145600),即任務中的數字。

輸出格式

輸出的第一行必須包含X的值(0 <X≤100),第二行必須包含K的值(K> 0)。

輸入輸出樣例

輸入 #1

1456

輸出 #1

1
1

輸入 #2

6188

輸出 #2

14
1

輸入 #3

40404

輸出 #3

99
4

C++程式碼

#include <iostream>
using namespace std;

int main() {
    int n, m, x, k;
    cin >> n;
    for (x=100; x>0; --x)
        for (k=1; k<145600; ++k)
            if (n == 52 * (7 * x + 21 * k)) {
                cout << x << '\n' << k << endl;
                return 0;
            }
    return 0;
}