救救小蒟蒻吧!!!

7. 中心平方数

题目ID:1331选做题50分

最新提交:0 分

历史最高:0 分

时间限制: 1000ms

空间限制: 65536kB

题目描述

贝西的女儿卡西从一所牛校放学回家,并带来了一个新的数学问题。(贝西是头母牛,所以卡西去牛校没什么奇怪的)“我简直不敢肯定我能把这些运算做完。”她抱怨着。“你在做什么?”她母亲关心地问。老师给了我们一个小于1000000的正整数,无论他到底是几位,我们都把他当成6位的,比如12就被当作000012。每次我们都求出原数的中心数,然后将这个中心数平方,得到一个新的数。重复这个过程(对新数再求中心数,再平方……),直到我们得到了一个已经出现过的数。最开始的那个数算作已经出现过的。所谓中心数,就是这个六位的第3,4,5位。比如283120的中心数就是000312。
帮帮卡西吧,她太可怜了。

输入格式:

仅一行,一个整数,即那个初始值。可能不足6位,但不会超过6位。

输出格式:

仅一行,一个整数,表示运算多少次之后出现重复(取中心数和平方合起来算一次运算)。注意中心数发生重复没有用,只有新数发生重复才有用。

样例输入:

253405

样例输出:

6

数据范围:

小于1000000的正整数

时间限制:

1000

空间限制:

65536

提示:

样例解释:
当前数 中心数 新数(中心数平方)
253405 000340 115600
115600 000560 313600
313600 000360 129600
129600 000960 921600
921600 000160 025600
025600 000560 313600

你是网上抄的

赞同 :rage: :rage: :rage:

不是不能发AC代码吗?

怎么这样

是核心代码

但是是抄的

别避重就轻

1 个赞

本来你就是抄的

1 个赞

别吵了 有没有大佬讲一下思路

ε=(´ο`*)))唉,还得是看我

  1. 数据存储
  • 使用一个容器(比如set)来存储已经出现过的新数。这样可以快速判断一个新数是否已经出现过。
  1. 提取中心数和平方操作
  • 对于给定的整数,通过“简单”的数学运算提取出中心三位数字。
  • 然后将中心数平方得到新的数。
  1. 循环操作
  • 不断重复提取中心数和平方的操作,每次得到新数后检查是否已经在容器中出现过。
  • 如果出现过,则结束循环,此时循环的次数就是所求的结果。
  • 如果没有出现过,则将新数存入容器,继续进行下一次循环。
2 个赞