首页 > 试题广场 >

自守数

[编程题]自守数
  • 热度指数:156791 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
\hspace{15pt}自守数是指这样一个自然数 x,其平方的尾数等于自身。更具体的说,即 x^2 的末尾若干位恰好等于 x,例如:
\hspace{23pt}\bullet\, 25^2=625625 的末尾两位恰好是 25
\hspace{23pt}\bullet\, 76^2=57765776 的末尾两位恰好是 76
\hspace{23pt}\bullet\, 9\,376^2=87\,909\,37687\,909\,376 的末尾四位恰好是 9\,376
\hspace{15pt}现在,对于给定的 n,请统计 0n 之间的自守数个数。

输入描述:
\hspace{15pt}输入一个整数 n \left(1 \leqq n \leqq 10^4\right) 代表自守数的范围。


输出描述:
\hspace{15pt}输出一个整数,代表 0n 之间的自守数个数。
示例1

输入

25

输出

5

说明

\hspace{15pt}在这个样例中,0,1,5,6,25 是自守数。
头像 BSF
发表于 2021-10-21 19:12:07
while True: try: n = int(input()) count = 0 for i in range(n+1): if str(i) == str(i**2)[-len(str(i)):]: 展开全文
头像 水木清华_AI
发表于 2020-03-10 21:43:05
/* 本文系「人工智能安全」(微信公众号)原创,转载请联系本文作者(同博客作者)。 欢迎你转发分享至朋友圈,并给予「关注、星标、点赞」三连支持。互相欣赏,互相批判。 我是一名有诗人气质的网络安全工程师 期待与你的思想交流碰撞出智慧的花火 水木清华 2020-03-10 求自守数的解题思路 规律:个位 展开全文
头像 编程小海浪
发表于 2022-02-23 19:43:58
主要使用String的endsWith() 方法,用于测试字符串是否以指定的后缀结束。如果参数表示的字符序列是此对象表示的字符序列的后缀,则返回 true;否则返回 false。注意,如果参数是空字符串,或者等于此 String 对象(用 equals(Object) 方法确定),则结果为 true 展开全文
头像 牛客967747656号
发表于 2022-03-26 17:06:59
根据例子发现了个自守数的规律 例如: 25^2=625;625-25=600;600%100=0;25<100; 76^2=5776;5776-76=5700;5700%100=0;76<100; 9376^2=87909376;87909376-9376=87900000;879000 展开全文
头像 人生苦短,但求成长
发表于 2022-02-26 09:35:22
while True: try: n = int(input()) count = 0 for i in range(n + 1): res = i ** 2 if str(res).e 展开全文
头像 fuxiaoxian
发表于 2021-10-11 23:43:42
import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); w 展开全文
头像 虎太郎
发表于 2022-01-20 17:12:13
看到这题目脑子灵光一闪就想到两种方法 取模运算比较 字符串截取比较 我这里只是说实现了取模运算,字符串截取比较懒得写了 import java.util.Scanner; /** * @author lc * @version 1.0.0 * @ClassName HW99.java 展开全文
头像 林海雪原中的小木屋
发表于 2020-02-26 21:30:10
while True: try: n = int(input()) cnt = 0 for i in range(n): if str(i * i).endswith(str(i)): c 展开全文
头像 虹色萤火虫
发表于 2020-08-27 17:10:47
纯C 这题老老实实的做没有做对,然后就投机取消了,牛客的测试集覆盖的不全面啊! #include <stdlib.h> #include <stdio.h> int main() { int n; while(scanf("%d", &n) != E 展开全文
头像 大模型练习生
发表于 2020-08-08 11:46:33
思路:只有以0、1、5、6结尾的才可能是自守数。判断方法:把对应数及其平方转为字符串,截取其平方最后对应位数的字符串与原数比较,相等则为自守数。 import java.util.Scanner; public class Main{ public static void main(St 展开全文