判断满足条件的三位数
import java.util.Scanner;
public class PerfectSquare {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
System.out.printf("count=%d\n", search(number));
}
}
输入样例:
输入三位数正整数n(最高位数字非0): 500
输出样例:
函数search返回[101, n]内
三位数中有两位数字相同的
完全平方数的个数
count=6
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
System.out.printf("count=%d\n", search(number));
}
public static int search(int n) {
int count = 0;
for (int i = 0; i <= n; i++) {
int temp = (int) Math.sqrt(i);
if (temp * temp == i) {
int[] digits = new int[10];
int num = i;
int duplicateCount = 0;
while (num > 0) {
int digit = num % 10;
digits[digit]++;
if (digits[digit] == 2) { // 只统计出现两次的数字
duplicateCount++;
}
num /= 10;
}
if (duplicateCount == 1) { // 只有一个数字出现两次才计数
count++;
}
}
}
return count;
}
}