(蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)

能够表示为某个整数的平方的数字称为"平方数

虽然无法立即说出某个数是平方数,但经常可以断定某个数不是平方数。因为平方数的末位只可能是:0,1,4,5,6,9 这 6 个数字中的某个。所以,4325435332 必然不是平方数。

如果给你一个 2 位或 2 位以上的数字,你能根据末位的两位来断定它不是平方数吗?

请计算一下,一个2 位以上的平方数的最后两位有多少种可能性?

代码如下:

java 复制代码
import java.util.HashSet;
import java.util.Set;
public class Main {
    public static void main(String[] args) {
        Set<String> set = new HashSet<>();  //利用HashSet不重复的性质
        for (int i = 4; i < 10000; i++) {   //直接用10000个左右的数据进行测试统计
            String str = String.valueOf(i * i);
            str = str.substring(str.length() - 2);    //利用字符串功能来截取字符串的最后两位
            set.add(str);
        }
        System.out.println(set.size());
    }
}

结果如下:

补充:

以下为常用的字符串函数功能。

  1. length() - 返回字符串的长度。
  2. charAt(int index) - 返回指定索引位置的字符。
  3. indexOf(String str) - 返回指定子字符串在字符串中第一次出现的位置索引。
  4. substring(int beginIndex) - 返回从指定索引开始到字符串末尾的子字符串。
  5. substring(int beginIndex, int endIndex) - 返回指定索引范围内的子字符串。
  6. toLowerCase() - 将字符串转换为小写。
  7. toUpperCase() - 将字符串转换为大写。
  8. trim() - 去除字符串开头和末尾的空格。
  9. replace(char oldChar, char newChar) - 替换字符串中指定字符为新字符。
  10. split(String regex) - 按指定正则表达式分割字符串为字符串数组。
  11. equals(Object anObject) - 比较两个字符串是否相等。
  12. startsWith(String prefix) - 判断字符串是否以指定前缀开头。
  13. endsWith(String suffix) - 判断字符串是否以指定后缀结尾。
相关推荐
Jerry12 小时前
LeetCode 101. 对称二叉树
算法
可编程芯片开发13 小时前
基于MPPT最大功率跟踪的离网光伏发电系统Simulink建模与仿真
算法
AI科技星13 小时前
线性算子不是空间映射函数,是全域双螺旋场之间拉伸、旋转、耦合、坍缩的跨空间标准化变换载体《全域数学vs传统数学:人类文明进阶200讲》第80讲
线性代数·算法·矩阵·数据挖掘·回归·乖乖数学·全域数学
米罗篮13 小时前
矩阵快速幂 (Exponentiation By Squaring Applied To Matrices)
c++·线性代数·算法·矩阵
dream_home840713 小时前
图像算法模型NPU适配与算法服务实战指南
人工智能·python·算法·npu 图像服务
大鱼>14 小时前
多宠物家庭智能管理平台:云端架构与多设备协同实战
python·算法·iot·宠物
To_OC15 小时前
LC 22 括号生成:刷完这道题,我终于搞懂回溯剪枝了
javascript·算法·leetcode
To_OC15 小时前
LC 39 组合总和:回溯入门必刷题,我踩过的两个坑都在这了
javascript·算法·leetcode
数字杂技师15 小时前
每条推荐都很准,为什么我还是越刷越无聊?
算法
兰令水15 小时前
hot100【acm版】【2026.7.14打卡-java版本】
java·数据结构·算法·leetcode·面试