题目描述
定义:自守数是指一个数的平方的末位等于该数自身的自然数。 好了,现在大家应该已经知晓了自守数的定义,现在就让我们来编程吧!要求输入一个非负整数n,然后输出n内所有的自守数。
输入格式
输入一个整数n。
输出格式
在一行内输出n内包含的所有自守数。行末有空格
输入样例复制
在这里给出一组输入。例如:
100000
输出样例复制
在这里给出相应的输出。例如:
0 1 5 6 25 76 376 625 9376 90625
package com.tjy.practice;
import java.util.Scanner;
public class P11 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);// 创建一个Scanner对象来读取用户输入
int n = scanner.nextInt();
for (int i = 0; i < n; i++) {
if (zss(i)) {
System.out.print(i + " ");
}
}
}
public static boolean zss(int a) {
int s = a * a;// 计算a的平方
String x = String.valueOf(a);/*转换为字符串*/
String y = String.valueOf(s);/*判断是否以i结尾*/
if (y.endsWith(x)) {
return true;
} else {
return false;
}
}
}
这段代码的功能是找出指定数量的自守数。首先,通过 Scanner 类从标准输入中读取用户输入的一个整数 n。然后,使用一个循环来逐个判断数字是否为自守数,直到找到 n 个自守数为止。在循环中,首先计算数字的平方,然后将平方转换为字符串,最后判断平方数是否以原数字结尾,如果是,则输出该数字为自守数。最后关闭 Scanner 对象。