問題の解決策 ARC099 D - Snuke Numbers

Posted hnfms-jerry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了問題の解決策 ARC099 D - Snuke Numbers相关的知识,希望对你有一定的参考价值。

题目链接
题目链接2
题解
显然这是一道数论的题目..打表可以找出规律.
code:


#include "bits/stdc++.h"

using namespace std;

typedef long long ll;

double Snuke(ll x) {
    ll tmp = 0, c = x;
    while(c) {
        tmp += c % 10;
        c /= 10;
    }
    return 1.0 * x / tmp;
}

int main() {
    int K;
    cin >> K;
    ll res = 0, x = 1;
    while(K--) {
        double t1, t2;
        while(true) {
            t1 = Snuke(res + x), t2 = Snuke(res + x * 10);
            if(t1 <= t2) break;
            x *= 10;
        }
        res += x;
        printf("%lld
", res);
    }
    return 0;
}

つづく...





以上是关于問題の解決策 ARC099 D - Snuke Numbers的主要内容,如果未能解决你的问题,请参考以下文章

ARC078 D.Fennec VS. Snuke(树上博弈)

LGOJ P2085 最小函数值

[]ARC099

ARC068E Snuke Line

arc068 E: Snuke Line

何解決 LinqToExcel 發生「無法載入檔案或組件」問題何解決 LinqToExcel 發生「無法載入檔案或組件」問題