• bzoj 3858: Number Transformation 暴力


    3858: Number Transformation

    Time Limit: 1 Sec  Memory Limit: 64 MB
    Submit: 82  Solved: 41
    [Submit][Status]

    Description

    Teacher Mai has an integer x.
    He does the following operations k times. In the i-th operation, x becomes the least integer no less than x, which is the multiple of i.
    He wants to know what is the number x now.

    Input

    There are multiple test cases, terminated by a line "0 0".
    For each test case, the only one line contains two integers x,k(1<=x<=10^10, 1<=k<=10^10).

    Output

    For each test case, output one line "Case #k: x", where k is the case number counting from 1.

    Sample Input

    2520 10
    2520 20
    0 0

    Sample Output

    Case #1: 2520
    Case #2: 2600

    HINT

    Source

      其实我也不知道怎么证明,反正通过实验发现n/i每次严格减小到一个极限值,就再也不会变了,而这个极限值在sqrt(n)范围,迭代次数也是sqrt(n)的。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    typedef long long qword;
    int main()
    {
            freopen("input.txt","r",stdin);
            qword n,m;
            int i;
            qword t;
            int cnt=0;
            while (scanf("%lld%lld",&n,&m),cnt++,n+m)
            {
                    t=0;
                    for (i=1;i<=m;i++)
                    {
                            n=(n/i+(n%i!=0))*i;
                            if (n/i==t)break;
                            t=n/i;
                    }
                    printf("Case #%d: %lld
    ",cnt,m*t);
            }
    }
    by mhy12345(http://www.cnblogs.com/mhy12345/) 未经允许请勿转载

    本博客已停用,新博客地址:http://mhy12345.xyz

  • 相关阅读:
    小朋友的责任 转自点妈文集
    amazon.cn, 感觉不错
    团队作业1——团队展示&选题
    如何解决mysql中的账户添加后不能登录的问题
    目标检测中常见指标
    latex知识点
    考研复试建议
    论文写作经验
    Git
    Python编程知识
  • 原文地址:https://www.cnblogs.com/mhy12345/p/4219765.html
Copyright © 2020-2023  润新知