数组逆序
题目:输入10个整数存入一维数组,再按逆序重新存放后再输出
输入:输入包括一行,10个以空格格开的整数
输出:逆序的10个整数,整数以空格格开
输入:1 3 5 9 7 6 8 2 4 0
输出:0 4 2 8 6 7 9 5 3 1
import java.util.Scanner; public class 数组逆序 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int[] numbers = new int[10]; // 输入10个整数并存入数组 for (int i = 0; i < numbers.length; i++) { System.out.print("请输入第 " + (i + 1) + " 个整数: "); numbers[i] = scanner.nextInt(); } // 按逆序重新存放数组 for (int i = 0; i < numbers.length / 2; i++) { int temp = numbers[i]; numbers[i] = numbers[numbers.length - 1 - i]; numbers[numbers.length - 1 - i] = temp; } // 输出逆序后的数组 System.out.println("逆序后的数组: "); for (int number : numbers) { System.out.print(number + " "); } scanner.close(); } }
最小公倍数和最大公约数
题目:从键盘输入两个正整数,求这两个正整数的最小公倍数和最大公约数,并输出。
输入:输入包括一行,两个以空格分开的正整数。
输出:两个整数的最小公倍数和最大公约数
输入:6 8
输出:24 2
import java.util.Scanner; public class 最小公倍数和最大公约数 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a, b; a = scanner.nextInt(); b = scanner.nextInt(); if(a < b) {//使得a > b int t; t = a; a = b; b = t; } int m, n; m = a; n = b; int x=0; while(b != 0) {//辗转相除法求最大公约数 int c = a%b; a = b;//先将b赋值给a b = c; }//最后a为最大公约数 System.out.println(m * n / a + " " + a);//最小公倍数为两数乘积除以最大公约数 scanner.close(); } }
知识点
最大公约数:最大公约数(Greatest Common Divisor, GCD)是指两个或多个整数共有约数中最大的一个。如:10和15,其最大公约数为5;
最小公倍数:最小公倍数(Least Common Multiple, LCM)是指两个或多个整数的最小公倍数,即能被这些整数整除的最小正整数。
最小公倍数与最大公约数(Greatest Common Divisor, GCD)紧密相关,实际上,两个数的最小公倍数可以通过它们的乘积除以它们的最大公约数来计算。