使用java语言编写下列题目,对99个数按照从大到小的顺序排列 3.编写一个JAVA程序在屏幕上输出1!+2!+...+10!的和 4.判断101-200之间有多少个素数 5.输入两个正整数m和n,求其最大公约数和最小公倍数 5/22 、、、 5/23 1.求一个4*4矩阵对角线元素之和
时间: 2023-12-10 17:41:41 浏览: 69
3. 计算1!+2!+...+10!的和
```java
public class FactorialSum {
public static void main(String[] args) {
int n = 10;
int sum = 0;
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
sum += factorial;
}
System.out.println("1! + 2! + ... + 10! = " + sum);
}
}
```
4. 判断101-200之间有多少个素数
```java
public class PrimeNumbers {
public static void main(String[] args) {
int count = 0;
for (int i = 101; i <= 200; i++) {
if (isPrime(i)) {
count++;
}
}
System.out.println("101-200之间素数的个数为:" + count);
}
/**
* 判断一个数是否为素数
* @param num 待判断的数
* @return 是否为素数
*/
private static boolean isPrime(int num) {
if (num <= 1) {
return false;
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
}
```
5. 输入两个正整数m和n,求其最大公约数和最小公倍数
```java
import java.util.Scanner;
public class GcdLcm {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入第一个数m:");
int m = scanner.nextInt();
System.out.print("请输入第二个数n:");
int n = scanner.nextInt();
int gcd = getGcd(m, n);
int lcm = getLcm(m, n);
System.out.println(m + "和" + n + "的最大公约数为:" + gcd);
System.out.println(m + "和" + n + "的最小公倍数为:" + lcm);
}
/**
* 计算两个数的最大公约数
* @param m 第一个数
* @param n 第二个数
* @return 最大公约数
*/
private static int getGcd(int m, int n) {
while (n != 0) {
int r = m % n;
m = n;
n = r;
}
return m;
}
/**
* 计算两个数的最小公倍数
* @param m 第一个数
* @param n 第二个数
* @return 最小公倍数
*/
private static int getLcm(int m, int n) {
return m * n / getGcd(m, n);
}
}
```
6. 求一个4*4矩阵对角线元素之和
```java
public class DiagonalSum {
public static void main(String[] args) {
int[][] matrix = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}};
int sum = 0;
for (int i = 0; i < matrix.length; i++) {
sum += matrix[i][i];
}
System.out.println("4*4矩阵对角线元素之和为:" + sum);
}
}
```
阅读全文