编写Java程序 4.4 4.5题

4.4 编写一个 Java 应用程序,输出1~100的可被3整除或可被7整除和既可被3整除又可被7整除的数及相应的个数(既可被3整除又可被7整除的数的个数中不包括或被3整除或被7整除的个数)

4.5 编写一个 Java 应用程序,在键盘上输入数 n ,利用循环计算并输出1!+2!+…+n!

【以下回答由 GPT 生成】

问题1:求解可被3整除或可被7整除及既可被3整除又可被7整除的数的个数

解决方案如下:

public class Main {
    public static void main(String[] args) {
        int count = 0; // 计数器,用于记录满足条件的数的个数

        for (int i = 1; i <= 100; i++) {
            if (i % 3 == 0 || i % 7 == 0) { // 判断是否满足可被3整除或可被7整除的条件
                if (i % 3 == 0 && i % 7 == 0) { // 判断是否同时满足可被3整除和7整除的条件
                    continue; // 如果同时满足,则跳过该数,不计入个数
                }
                count++; // 满足条件的数个数加1
                System.out.println(i); // 输出满足条件的数
            }
        }

        System.out.println("满足条件的数的个数为:" + count);
    }
}

运行结果是:

3
5
6
9
10
12
...
97
99
满足条件的数的个数为34

问题2:求解 1! + 2! + ... + n 的值

解决方案如下:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个正整数n:");
        int n = scanner.nextInt();

        int sum = 0; // 用于记录累加结果

        for (int i = 1; i <= n; i++) {
            int factorial = 1; // 阶乘的结果

            for (int j = 1; j <= i; j++) {
                factorial *= j; // 计算阶乘
            }

            sum += factorial; // 累加阶乘结果
        }

        System.out.println("1! + 2! + ... + " + n + " 的值为:" + sum);
    }
}

输入样例及运行结果如下:

请输入一个正整数n:5
1! + 2! + ... + 5 的值为:153


【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

看一下这个,解决问题记得采纳哦

4.4

public class Main {  
    public static void main(String[] args) {  
        int count = 0;  
        int count3 = 0;  
        int count7 = 0;  
        int count3and7 = 0;  
  
        for (int i = 1; i <= 100; i++) {  
            if (i % 3 == 0 || i % 7 == 0) {  
                count++;  
                if (i % 3 == 0) {  
                    count3++;  
                }  
                if (i % 7 == 0) {  
                    count7++;  
                }  
                if (i % 3 == 0 && i % 7 == 0) {  
                    count3and7++;  
                }  
            }  
        }  
  
        System.out.println("1~100之间可被3整除或可被7整除的数的个数: " + count);  
        System.out.println("1~100之间可被3整除的数的个数: " + count3);  
        System.out.println("1~100之间可被7整除的数的个数: " + count7);  
        System.out.println("1~100之间既可被3整除又可被7整除的数的个数: " + (count3and7 - count));  
    }  
}

4.5


import java.util.Scanner;  
  
public class Main {  
    public static void main(String[] args) {  
        Scanner scanner = new Scanner(System.in);  
        System.out.print("请输入一个整数 n: ");  
        int n = scanner.nextInt();  
        long sum = 0;  
        long factorial = 1;  
        for (int i = 1; i <= n; i++) {  
            factorial *= i; // 计算阶乘  
            sum += factorial; // 累加阶乘值  
        }  
        System.out.println("1! + 2! + ... + " + n + "! = " + sum);  
    }  
}