码迷,mamicode.com
首页 > 其他好文 > 详细

問題の解決策 ARC099 D - Snuke Numbers

时间:2018-06-24 13:00:02      阅读:377      评论:0      收藏:0      [点我收藏+]

标签:beta   pre   clu   print   span   task   bit   bre   res   

题目链接
题目链接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\n", res);
    }
    return 0;
}

つづく...

問題の解決策 ARC099 D - Snuke Numbers

标签:beta   pre   clu   print   span   task   bit   bre   res   

原文地址:https://www.cnblogs.com/hnfms-jerry/p/arc099-abc101-D_Snuke_Numbers.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!