题目

思路

  • 约数的概念:约数就是因数。整数a除以整数b,除得的商正好是整数而没有约数,我们就说a能被b整除,或者b能整除a。a称为b的倍数,b称为a的约数。

  • 约数个数定理:

  • 想要使用约数个数定理,就需要将这个数分解成对应的质因子,然后取指数再+1相乘。

  • 在这道题中,我们统计100的阶乘可以分解成质因数的乘积,其中每个质因子出现的次数。

  • 将每个数的次数(arr[j])+1在乘积,即为所得约数解。

Code

public class Main {public static void main(String[] args) {//存储每个数分解完后,出现的次数(幂数)int arr[] = new int[101];//记录阶乘的每位数字分解成质因子后的指数结果long sum=1;for (int i = 2; i <= 100; i++) {//将每个数分解质因数,即将这个数分为质数乘积组成的形式,记录分解的数出现次数。int j = 2, i1 = i;while (i1 != j) {if (i1 % j == 0) {arr[j]++;i1 = i1 / j;} else {j++;}}//最后i1==j就是分解到最后一个质数,将这个质数记录arr[j]++;}//根据公式,约数个数=(a1+1)*(a2+1)*(an+1)...a就是质因数出现次数(幂数)for(int i=2;i<=100;i++) {if(arr[i]!=0){sum*=(arr[i]+1);}}//输出结果System.out.println(sum);}
}

100阶乘的约数个数相关推荐

  1. 十一届蓝桥杯 100阶乘的约数-python

    100阶乘的约数 问题描述 定义阶乘 n! = 1 × 2 × 3 × ··· × n. 请问 100! (100 的阶乘)有多少个约数. 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可. ...

  2. 【超详细】(蓝桥杯Python)阶乘约数:求100阶乘的正约数个数。

    首先,这里涉及到的数学知识有: 1.质数:只能被两个或以下的数整除的数 2.合数:能被三个或以上的数整除的数 3.阶乘:是所有小于及等于该数的正整数的积,并且0的阶乘为1.(100的阶乘为1x2x3. ...

  3. 1624 Violet 5 樱花(Bzoj2721 LOJ10202 LUOGU1445 提高+/省选-) 交叉相乘 阶乘质因数分解技巧 约数个数计算

    总目录 在线测评地址(ybt) 在线测评地址(LOJ) 在线测评地址(LUOGU) 1.交叉相乘 阶乘质因数分解技巧 约数个数计算 ybt 通过 测试点 结果 内存 时间 测试点1 答案正确 604K ...

  4. 【数学专题】约数个数与欧拉函数

    整理的算法模板合集: ACM模板 目录 一.约数个数 1. AcWing 1291. 轻拍牛头 2. AcWing 1294. 樱花 2.1 AcWing 197. 阶乘分解 3. AcWing 19 ...

  5. 约数个数 (排列组合中的乘法原理)

    问题 A: 约数个数 时间限制: 2 Sec  内存限制: 128 MB 提交: 313  解决: 39 提交 状态 讨论版 命题人:admin 题目描述 p^q表示p的q次方,正整数M可以分解为M= ...

  6. Java 算法 约数个数

    目录标题 题目描述 解题思路 代码 题目描述 有1个约数的最小数为1(1),有两个约数的最小数为2(1,2)-- 有n个约数的最小数为Sn S1=1 (1) S2=2 (1 2) S3=4 (1 2 ...

  7. ~~约数个数(附模板题)

    模板 如果 N = p1^c1 * p2^c2 * ... *pk^ck 约数个数: (c1 + 1) * (c2 + 1) * ... * (ck + 1) 约数之和: (p1^0 + p1^1 + ...

  8. [数论] 约数个数定理与约数和定理

    约数个数定理 对于一个大于1正整数n可以分解质因数: 则n的正约数的个数就是   . 其中a1.a2.a3-ak是p1.p2.p3,-pk的指数. 约数定理证明 首先同上,n可以分解质因数:n=p1^ ...

  9. Java计算1到100阶乘和

    Java计算1到100阶乘和 1.定义一个 factorial类 2.定义一个测试类Cs2 1.定义一个 factorial类 import java.math.BigDecimal; public ...

最新文章

  1. mysql之触发器详解_学习笔记之MySQL触发器详解
  2. 2.2 KNN算法实现
  3. React绑定this的三种方式
  4. 利用vue v-bind属性绑定bootstrap样式以及输出数据
  5. 空间金字塔池化_回顾语义分割—DenseASPP (密集空洞空间金字塔池化)
  6. 2019 第二周 开发笔记
  7. vmware eth0网卡无ip
  8. 华为手机计算机快捷,快速让华为手机变成一台电脑,INNOCN便携显示器的更多玩法...
  9. 三次样条曲线拟合算法c语言,关于三次样条曲线拟合法
  10. 条形码jsbarcode
  11. springboot 集成 log4j,log4j配置不同包不同日志输出级别(按包输出不同级别日志)
  12. NOKOV Seeker2.2动作捕捉软件与ROS的通信
  13. $timeout、$interval和$watch用法
  14. 开发者笑疯了! LLaMa惊天泄露引爆ChatGPT平替狂潮,开源LLM领域变天
  15. python实现爬虫统计学校BBS男女比例(三)数据处理
  16. C51 (矩阵键盘密码锁)
  17. Django模型之Meta属性详解
  18. 170915 逆向-问鼎杯题库(小磊生病了)
  19. clearcasse 命令
  20. 【读书笔记】《数学之美》——一个好方法在形式上总是简单的

热门文章

  1. 魔兽世界地图插件制作代码、
  2. [心得]C语言中实现密码输入 回显星号*
  3. Kettle 使用详解
  4. java 定时关机_「window定时关机命令」电脑定时关机命令,这个方法适用于win7及以下系统 - seo实验室...
  5. scrapy组件、中间件、spider中类方法from_crawler的作用
  6. Rust 基础(七)
  7. 高斯赛德尔迭代法(线性方程组求解)
  8. 数值分析实验报告 matlab,数值分析matlab实验报告..doc
  9. 计算机音乐花之舞谱,花之舞钢琴谱
  10. Windows: HBuilderX Git使用教程