栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

面试题自守数

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

面试题自守数

自守数的题目 自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n(包括n)以内的自守数的个数 数据范围:1≤n≤10000 输入描述: int型整数 输出描述: n以内自守数的数量。 示例1 输入

6

输出

4

说明 有0,1,5,6这四个自守数 示例2 输入

1

输出

2

说明 有0, 1这两个自守数 思路: 用字符串来解决,需要将原数字 与它的平方数的末尾进行比较,如果该数等于末尾数字,则count++; 难点是根据原数的位数去判断平方数应该从第几位开始。根据25^2 = 625, 原数是2位,平方数是3位,要判断平方数的第2-3位和原数的比较,所以下标从1开始。为平方数长度减去原数字长度=1。再看 76^2=5776,从第2位开始,平方数位数减去原数位数=2.
import java.util.*;
public class Main{
	public static void main(Sring[] args){
		Scanner in = new Scanner(System.in);
		while(in.hasNext()){
		int n = in.nextInt();
		int count = 0;
		for(int i = 0; i <= n; i++){
		String s1 = String.valueOf(i*i);
		String s2 = String.valueOf(i);
		if(s2.equals(s1.substring(s1.length() - s2.length()))){
			count++;
		}
	} 
		System.out.println(count);
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/978797.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号