P1050 循环

    • 536通过
    • 1.8K提交
  • 题目提供者CCF_NOI
  • 标签 字符串 模拟 递推 高精 NOIp普及组 2005 高性能
  • 难度 提高+/省选-
  • 时空限制 1s / 128MB

题解

  • 提示:收藏到任务计划后,可在首页查看。
  • 推荐的相关题目

    题目描述

    乐乐是一个聪明而又勤奋好学的孩子。他总喜欢探求事物的规律。一天,他突然对数的正整数次幂产生了兴趣。

    众所周知,2的正整数次幂最后一位数总是不断的在重复2,4,8,6,2,4,8,6……我们说2的正整数次幂最后一位的循环长度是4(实际上4的倍数都可以说是循环长度,但我们只考虑最小的循环长度)。类似的,其余的数字的正整数次幂最后一位数也有类似的循环现象:

        循环    循环长度
    2   2,4,8,6   4
    3   3,9,7,1   4
    4   4,6       2
    5   5         1
    6   6         1
    7   7,9,3,1   4
    8   8,4,2,6   4
    9   9,1       2

    这时乐乐的问题就出来了:是不是只有最后一位才有这样的循环呢?对于一个整数n的正整数次幂来说,它的后k位是否会发生循环?如果循环的话,循环长度是多少呢?

    注意:

    1. 如果n的某个正整数次幂的位数不足k,那么不足的高位看做是0。

    2. 如果循环长度是L,那么说明对于任意的正整数a,n的a次幂和a + L次幂的最后k位都相同。

    输入输出格式

    输入格式:

    输入文件circle.in只有一行,包含两个整数n(1 <= n < 10^100)和k(1 <= k <= 100),n和k之间用一个空格隔开,表示要求n的正整数次幂的最后k位的循环长度。

    输出格式:

    输出文件circle.out包括一行,这一行只包含一个整数,表示循环长度。如果循环不存在,输出-1。

    输入输出样例

    输入样例#1: 复制
    32 2
    输出样例#1: 复制
    4

    说明

    对于30%的数据,k <= 4;

    对于全部的数据,k <= 100。

    NOIP2005普及组第四题

    提示
    标程仅供做题后或实在无思路时参考。
    请自觉、自律地使用该功能并请对自己的学习负责。
    如果发现恶意抄袭标程,将按照I类违反进行处理。