阶乘约数+猴子分香蕉(蓝桥杯JAVA解法)

简介: 阶乘约数+猴子分香蕉(蓝桥杯JAVA解法)

 阶乘约数:用户登录

题目描述

本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

定义阶乘 n!=1×2×3×⋅⋅⋅×n。

请问 100!(100 的阶乘)有多少个正约数。

运行限制

    • 最大运行时间:1s
    • 最大运行内存: 128M

    代码:

    import java.util.Scanner;
    // 1:无需package
    // 2: 类名必须Main, 不可修改
    public class Main {
         public static void main(String[] args) {
                // 100 的阶乘有多少约数
                int[] arr=new int[105];
                //利用唯一分解定理分解100的阶乘
                // 必须要从2开始
                for (int i=2;i<=100;i++){
                    int n=i;
                    for (int j=2;j*j<=n;j++ ){
                        while (n%j==0){// 当能够整除 的时候,对应余数的幂次加一
                            arr[j]++;
                            n/=j;
                        }
                    }
                    //整除完了后如果剩下的n不为1,则当前的n为因子
                    if (n>1){
                        arr[n]++;
                    }
                }
                long ans=1;
                for (int i=2;i<=100;i++){
                    if (arr[i]>0){
                        ans*=(arr[i]+1);
                    }
                }
                System.out.println(ans);
            }
    }

    image.gif

    猴子分香蕉:用户登录

    题目描述

    本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

    5 只猴子是好朋友,在海边的椰子树上睡着了。这期间,有商船把一大堆香蕉忘记在沙滩上离去。

    第 1 只猴子醒来,把香蕉均分成 5 堆,还剩下 1 个,就吃掉并把自己的一份藏起来继续睡觉。

    第 2 只猴子醒来,把香蕉均分成 5 堆,还剩下 2 个,就吃掉并把自己的一份藏起来继续睡觉。

    第 3 只猴子醒来,把香蕉均分成 5 堆,还剩下 3 个,就吃掉并把自己的一份藏起来继续睡觉。

    第 4 只猴子醒来,把香蕉均分成 5 堆,还剩下 4 个,就吃掉并把自己的一份藏起来继续睡觉。

    第 5 猴子醒来,重新把香蕉均分成 5 堆,哈哈,正好不剩!

    请计算一开始最少有多少个香蕉。

    运行限制

      • 最大运行时间:1s
      • 最大运行内存: 128M

      代码:

      import java.util.Scanner;
      public class Main {
          public static void main(String[] args) {
              for (int i = 1; i < Integer.MAX_VALUE; i++) {
                  if (i % 5 == 1) {
                      int n = i - i / 5 - 1;
                      if (n % 5 == 2) {
                          n = n - n / 5 - 2;
                          if (n % 5 == 3) {
                              n = n - n / 5 - 3;
                              if (n % 5 == 4) {
                                  n = n - n / 5 - 4;
                                  if (n != 0 && n % 5 == 0) {
                                      System.out.println(i);
                                      break;
                                  }
                              }
                          }
                      }
                  }
              }
          }
      }

      image.gif


      相关文章
      |
      28天前
      |
      Java 编译器 程序员
      Java面试高频题:用最优解法算出2乘以8!
      本文探讨了面试中一个看似简单的数学问题——如何高效计算2×8。从直接使用乘法、位运算优化、编译器优化、加法实现到大整数场景下的处理,全面解析了不同方法的原理和适用场景,帮助读者深入理解计算效率优化的重要性。
      31 6
      |
      4月前
      |
      算法 Java
      LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
      LeetCode经典算法题:矩阵中省份数量经典题目+三角形最大周长java多种解法详解
      57 6
      |
      4月前
      |
      人工智能 算法 Java
      LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
      LeetCode经典算法题:井字游戏+优势洗牌+Dota2参议院java解法
      54 1
      |
      4月前
      |
      存储 算法 Java
      LeetCode经典算法题:预测赢家+香槟塔java解法
      LeetCode经典算法题:预测赢家+香槟塔java解法
      64 1
      |
      4月前
      |
      算法 Java
      LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
      LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
      56 0
      |
      4月前
      |
      存储 算法 Java
      LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
      LeetCode初级算法题:两数之和+斐波拉契数列多种java解法
      45 0
      |
      6月前
      |
      Java
      2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
      2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
      53 4
      |
      6月前
      |
      Java
      2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
      2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
      39 1
      |
      6月前
      |
      Java
      八皇后问题92种解法(java)
      八皇后问题92种解法(java)
      |
      6月前
      |
      存储 前端开发 算法
      2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
      2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
      39 0