Task01
题目
写一个方法,判断一个数(int类型)是否是素数
代码
package day03;
import java.util.Scanner;
public class Task01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a=scanner.nextInt();
if(judge(a)){
System.out.println("是一个素数");
}else{
System.out.println("不是素数");
}
}
public static boolean judge (int a){
for(int i=2;i<=a-1;i++){
if(a%i==0) return false;
}
return true;
}
}
结果
Task02
题目
正整数n若是它平方数的尾部,则称n为同构数,比如5是55=25右边的数,25是2525=625右边的数 求1-99范围内的所有同构数
代码
package day03;
public class Task02 {
public static void main(String[] args) {
for (int i = 1; i <= 99; i++) {
if (judge(i)) {
System.out.println("这是一个同构数" + i);
}
}
}
public static boolean judge(int a){
int aa=a * a;
while(a > 0&&aa > 0){
if(a%10 == aa%10){
a = a/10;
aa = aa/10;
continue;
}else{
return false;
}
}
return true;
}
}
结果
Task03
题目
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,
并返回他们的数组下标,假设每种输入只会对应一个答案
(因为是两个数,所以下标值,有两个,所以该方法返回一个int[],里面包含两个整数对应的数组下标)
代码
package day03;
public class Task03 {
public static void main(String[] args) {
int [] nums = {1,3,6,9,11};
int target=10;
int [] a = ar(target,nums);
System.out.println("数组的下标分别为:"+a[0]+" "+a[1]);
}
public static int[] ar(int a,int arry[]){
int [] arry2 = new int[2];
for (int i = 0; i < arry.length; i++) {
for (int j = 0; j < arry.length ; j++) {
if(i == j) continue;
if(arry[i] + arry[j] == a){
arry2[0] = i;
arry2[1] = j;
return arry2;
}
}
}
return arry2;
}
}
结果
Task04
题目
给定一个排序(有序)数组,返回移除相同元素后数组的新长度。
代码
package day03;
public class Task04 {
public static void main(String[] args) {
int num[] = {1,2,2,3,3,3,4,5,6,6,7,8,8,9};
System.out.println("移除相同元素后数组的新长度为:" + number(num));
}
public static int number(int num[]){
int a=1;
for (int i = 1; i < num.length; i++) {
if(num[i] != num[i-1]){
a++;
}
}
return a;
}
}
结果
|