TOJ 3534.Shift Number

    xiaoxiao2024-12-23  21

    题目链接:http://acm.tju.edu.cn/toj/showp3534.html

    3534.    Shift Number
    Time Limit: 1.0 Seconds    Memory Limit: 65536K Total Runs: 293    Accepted Runs: 131

    If a number is the sum of an integer's several shifting forms, it is called the Shift Number.

    For example, by shifting 123 four times and adding the four numbers together, we get 136653, which is a Shift Number. However, a shift number may be the sum of more than one integer's shifting forms. Such as, 45177 is a Shift Number, which could be generated from both 407 and 4107.

    123 + 1230 + 12300 + 123000 = 136653  407 + 4070 + 40700 = 45177  4107 + 41070 = 45177

    Given a Shift Number x, would you please help us find the least integer which could generate x by shifting.

    Input

    A shift number x. Input ends with x = 0.

    Output

    the least integer which could generate x by shifting.

    Sample Input

    136653 45177 0

    Sample Output

    123 407

    Hint

    If you are not familiar with "long long", you can consult to FAQ.

    Source: Multi-School Training Contest 2010 - BUPT Site #2
    Submit   List    Runs   Forum   Statistics

    水题,超时一次,原因是自己粗心,把t定义成了int型,存不下while循环一直运行导致超时(粗心的过分啊)。

    #include <stdio.h> using namespace std; int main(){ long long n,t; while(scanf("%lld",&n) && n){ t=1; while(t<n) t=t*10+1; while(n%t) t/=10; printf("%lld\n",n/t); } }

    转载请注明原文地址: https://ju.6miu.com/read-1294914.html
    最新回复(0)