华为机试: 查找组成一个偶数最接近的两个素数、自守数

xiaoxiao2021-02-27  136

1. 查找组成一个偶数最接近的两个素数

题目描述

任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对

输入描述:

输入一个偶数

输出描述:

输出两个素数

示例1

输入

20

输出

7 13 import java.util.Scanner; public class Main{ public static void main(String []args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int num=sc.nextInt(); int n=num/2; int min=n; int max=n; for(int i=0;i<n;i++){ if(Judge(min)&&Judge(max)&&(min+max==num)){ System.out.println(min); System.out.println(max); break; } min-=1; max+=1; } } } //判断素数 public static boolean Judge(int number){ int count=0; for(int i=2;i<number;i++){ if(number%i==0) count++; } if(count!=0) return false; else return true; }

}

2.自守数

题目描述

自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数

接口说明

/* 功能: 求出n以内的自守数的个数

输入参数: int n

返回值: n以内自守数的数量。 */

public static int CalcAutomorphicNumbers( int n) { /*在这里实现功能*/

return 0; }

输入描述:

int型整数

输出描述:

n以内自守数的数量。

示例1

输入

2000

输出

8

方法1:转成字符串,截取最后几位来操作

import java.util.Scanner; public class Main{ public static void main(String []args){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ int n=sc.nextInt(); System.out.println(CalcAutomorphicNumbers(n)); } } public static int CalcAutomorphicNumbers(int n){ int count=0; for(int i=0;i<n;i++){ int sum=(int)Math.pow(i,2); String s=String.valueOf(sum); String s2=String.valueOf(i); String s1=s.substring(s2.length(),s.length()); if(s1.equals(s2)){ count++; } } return count; } } 方法2:直接用数字来操作 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while(scanner.hasNext()){ int n = scanner.nextInt(); int count =0; for (int i = 0; i <=n; i++) { if (CalcAutomorphicNumbers(i)) { count++; } } System.out.println(count); } } //两数一直取余,分别比较两数最后一位的大小 public static boolean CalcAutomorphicNumbers(int n){ int num1 = (int) Math.pow(n, 2); while(n>0){ int a = n; int b = num1; n/=10; num1/=10; if(a!=b){ return false; } } return true; } }
转载请注明原文地址: https://www.6miu.com/read-14617.html

最新回复(0)