首页 > 代码库 > java笔试之自守数
java笔试之自守数
链接:https://www.nowcoder.com/profile/108908/codeBookDetail?submissionId=2256243
来源:牛客网
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数
接口说明
/*
功能: 求出n以内的自守数的个数
输入参数:
int n
返回值:
n以内自守数的数量。
*/
public static int CalcAutomorphicNumbers( int n)
{
/*在这里实现功能*/
return 0;
}
package test; import java.util.Scanner; //自守数 /* 功能: 求出n以内的自守数的个数 输入参数: int n 返回值: n以内自守数的数量。 */ public class exam15 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int n = scanner.nextInt(); System.out.println(CalcAutomorphicNumbers(n)); } scanner.close(); } public static int CalcAutomorphicNumbers(int n) { if (n == 0 || n == 1) { return n + 1; } else { int count = 2; for (int i = 2; i <= n; i++) { // if (isNum(i)) { // count++; // // System.out.println(i); // } if (isNum2(i)) { count++; System.out.println(i); } } return count; } } // 方法1:if判断是否位数匹配 public static boolean isNum(int i) { int s = i * i; // 除到0就可以了 while (i != 0) { int tmp1 = i % 10; i /= 10; int tmp2 = s % 10; s /= 10; if (tmp1 != tmp2) { return false; } } return true; } // 方法2:调用endsWith()方法直接判断 public static boolean isNum2(int i) { int s = i * i; if (String.valueOf(s).endsWith(String.valueOf(i))) { return true; } else { return false; } } }
java笔试之自守数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。