【因式分解】12000的因数有多少个?

  • 1. 题目
  • 2. 枚举法求解
    • 2.1 分解质因数
    • 2.2 枚举
    • 2.3 整理分析
  • 3. 公式求解
  • 4. 扩展
    • 4.1 因式分解
    • 4.2 因数个数

1. 题目

12000的因数有多少个?

2. 枚举法求解

2.1 分解质因数

2 ∣ 12000 ‾ 2 ∣ 6000 ‾ 2 ∣ 3000 ‾ 2 ∣ 1500 ‾ 2 ∣ 750 ‾ 3 ∣ 375 ‾ 5 ∣ 125 ‾ 5 ∣ 25 ‾ 5 2\underline{|12000}\\ \enspace2\underline{|6000}\\ \enspace2\underline{|3000}\\ \enspace2\underline{|1500}\\ \enspace\enspace2\underline{|750}\\ \enspace\enspace3\underline{|375}\\ \enspace\enspace5\underline{|125}\\ \enspace\enspace\enspace5\underline{|25}\\ \enspace\enspace\enspace\enspace\enspace5\\ 2∣120002∣60002∣30002∣15002∣7503∣3755∣1255∣255
整理得:
12000 = 2 5 × 3 1 × 5 3 12000 = 2^5×3^1×5^3 12000=25×31×53


2.2 枚举

序号质因数
1 1 = 2 0 × 3 0 × 5 0 1=2^0×3^0×5^0 1=20×30×50
2 5 = 2 0 × 3 0 × 5 1 5=2^0×3^0×5^1 5=20×30×51
3 25 = 2 0 × 3 0 × 5 2 25=2^0×3^0×5^2 25=20×30×52
4 125 = 2 0 × 3 0 × 5 3 125=2^0×3^0×5^3 125=20×30×53
5 3 = 2 0 × 3 1 × 5 0 3=2^0×3^1×5^0 3=20×31×50
6 15 = 2 0 × 3 1 × 5 1 15=2^0×3^1×5^1 15=20×31×51
7 75 = 2 0 × 3 1 × 5 2 75=2^0×3^1×5^2 75=20×31×52
8 375 = 2 0 × 3 1 × 5 3 375=2^0×3^1×5^3 375=20×31×53
9 2 = 2 1 × 3 0 × 5 0 2=2^1×3^0×5^0 2=21×30×50
10 10 = 2 1 × 3 0 × 5 1 10=2^1×3^0×5^1 10=21×30×51
11 50 = 2 1 × 3 0 × 5 2 50=2^1×3^0×5^2 50=21×30×52
12 250 = 2 1 × 3 0 × 5 3 250=2^1×3^0×5^3 250=21×30×53
13 6 = 2 1 × 3 1 × 5 0 6=2^1×3^1×5^0 6=21×31×50
14 30 = 2 1 × 3 1 × 5 1 30=2^1×3^1×5^1 30=21×31×51
15 150 = 2 1 × 3 1 × 5 2 150=2^1×3^1×5^2 150=21×31×52
16 750 = 2 1 × 3 1 × 5 3 750=2^1×3^1×5^3 750=21×31×53
17 4 = 2 2 × 3 0 × 5 0 4=2^2×3^0×5^0 4=22×30×50
18 20 = 2 2 × 3 0 × 5 1 20=2^2×3^0×5^1 20=22×30×51
19 100 = 2 2 × 3 0 × 5 2 100=2^2×3^0×5^2 100=22×30×52
20 500 = 2 2 × 3 0 × 5 3 500=2^2×3^0×5^3 500=22×30×53
21 12 = 2 2 × 3 1 × 5 0 12=2^2×3^1×5^0 12=22×31×50
22 60 = 2 2 × 3 1 × 5 1 60=2^2×3^1×5^1 60=22×31×51
23 300 = 2 2 × 3 1 × 5 2 300=2^2×3^1×5^2 300=22×31×52
24 1500 = 2 2 × 3 1 × 5 3 1500=2^2×3^1×5^3 1500=22×31×53
25 8 = 2 3 × 3 0 × 5 0 8=2^3×3^0×5^0 8=23×30×50
26 40 = 2 3 × 3 0 × 5 1 40=2^3×3^0×5^1 40=23×30×51
27 200 = 2 3 × 3 0 × 5 2 200=2^3×3^0×5^2 200=23×30×52
28 1000 = 2 3 × 3 0 × 5 3 1000=2^3×3^0×5^3 1000=23×30×53
29 24 = 2 3 × 3 1 × 5 0 24=2^3×3^1×5^0 24=23×31×50
30 120 = 2 3 × 3 1 × 5 1 120=2^3×3^1×5^1 120=23×31×51
31 600 = 2 3 × 3 1 × 5 2 600=2^3×3^1×5^2 600=23×31×52
32 3000 = 2 3 × 3 1 × 5 3 3000=2^3×3^1×5^3 3000=23×31×53
33 16 = 2 4 × 3 0 × 5 0 16=2^4×3^0×5^0 16=24×30×50
34 80 = 2 4 × 3 0 × 5 1 80=2^4×3^0×5^1 80=24×30×51
35 400 = 2 4 × 3 0 × 5 2 400=2^4×3^0×5^2 400=24×30×52
36 2000 = 2 4 × 3 0 × 5 3 2000=2^4×3^0×5^3 2000=24×30×53
37 48 = 2 4 × 3 1 × 5 0 48=2^4×3^1×5^0 48=24×31×50
38 240 = 2 4 × 3 1 × 5 1 240=2^4×3^1×5^1 240=24×31×51
39 1200 = 2 4 × 3 1 × 5 2 1200=2^4×3^1×5^2 1200=24×31×52
40 6000 = 2 4 × 3 1 × 5 3 6000=2^4×3^1×5^3 6000=24×31×53
41 32 = 2 5 × 3 0 × 5 0 32=2^5×3^0×5^0 32=25×30×50
42 160 = 2 5 × 3 0 × 5 1 160=2^5×3^0×5^1 160=25×30×51
43 800 = 2 5 × 3 0 × 5 2 800=2^5×3^0×5^2 800=25×30×52
44 4000 = 2 5 × 3 0 × 5 3 4000=2^5×3^0×5^3 4000=25×30×53
45 96 = 2 5 × 3 1 × 5 0 96=2^5×3^1×5^0 96=25×31×50
46 480 = 2 5 × 3 1 × 5 1 480=2^5×3^1×5^1 480=25×31×51
47 2400 = 2 5 × 3 1 × 5 2 2400=2^5×3^1×5^2 2400=25×31×52
48 12000 = 2 5 × 3 1 × 5 3 12000=2^5×3^1×5^3 12000=25×31×53

2.3 整理分析

2 2 2相关的数有 2 0 2^0 20 2 1 2^1 21 2 2 2^2 22 2 3 2^3 23
2 4 2^4 24 2 5 2^5 25 共6个数
3 3 3相关的数有 3 0 3^0 30 3 1 3^1 31 共2个数
5 5 5相关的数有 5 0 5^0 50 5 1 5^1 51 5 2 5^2 52 5 3 5^3 53 共4个数。
将他们分类组合有6×2×4种可能,所以我们得出以下公式:

C = ∏ i = 1 n ( P n + 1 ) C=\displaystyle\prod_{i=1}^n(Pn+1) C=i=1n(Pn+1)
其中:
C C C 为所有因数个数;
P n P_n Pn 为分解质因数后质因数的指数;
n n n 为不同质因数的个数;
∏ \prod 为连乘或连积符号。


3. 公式求解

因数公式
C = ∏ i = 1 n ( P n + 1 ) C=\displaystyle\prod_{i=1}^n(Pn+1) C=i=1n(Pn+1)

分解因数:
12000 = 2 5 × 3 1 × 5 3 12000 = 2^5×3^1×5^3 12000=25×31×53
有3个不同的质因数,所以: n = 3 n=3 n=3
3个不同的质因数的指数分别是:
{ P 1 = 5 第 1 个质因数 2 的指数 P 2 = 1 第 2 个质因数 3 的指数 P 3 = 3 第 3 个质因数 5 的指数 \begin{cases} P_1=5 &\text{ } 第1个质因数2的指数 \\ P_2=1 &\text{ } 第2个质因数3的指数\\ P_3=3 &\text{ } 第3个质因数5的指数 \end{cases} P1=5P2=1P3=3 1个质因数2的指数 2个质因数3的指数 3个质因数5的指数

∴ C = ∏ i = 1 n ( P n + 1 ) = ( P 1 + 1 ) × ( P 2 + 1 ) × ( P 3 + 1 ) = ( 5 + 1 ) × ( 1 + 1 ) × ( 3 + 1 ) = 6 × 2 × 4 = 48 \begin{equation} \begin{split} \therefore C&=\displaystyle\prod_{i=1}^n(Pn+1)\\ &=(P_1+1)\times(P_2+1)\times(P_3+1)\\ &=(5+1)\times(1+1)\times(3+1)\\ &=6\times 2\times 4\\ &=48 \end{split} \end{equation} C=i=1n(Pn+1)=(P1+1)×(P2+1)×(P3+1)=(5+1)×(1+1)×(3+1)=6×2×4=48

4. 扩展

4.1 因式分解

分解质因数

/// <summary>
/// 分解质因数函数
/// </summary>
/// <param name="number"></param>
/// <returns></returns>
static string DecomposingPrimeFactors(int number)
{int N = number;List<int> temps = new List<int>();int primeNumber = 2;DecomposingPrimeFactors(ref N, ref primeNumber, ref temps);return FormatPowerlaw(number,temps);
}
/// <summary>
/// 递归查找质因数
/// </summary>
/// <param name="N">传入需要分解的数</param>
/// <param name="primeNumber">传入第一个质数1</param>
/// <param name="temp">存储找到的质因数</param>
static void DecomposingPrimeFactors(ref int N, ref int primeNumber, ref List<int> temp)
{if (N <= 1){return;}if (N % primeNumber == 0){temp.Add(primeNumber);N = N / primeNumber;DecomposingPrimeFactors(ref N, ref primeNumber, ref temp);}else{primeNumber++;DecomposingPrimeFactors(ref N, ref primeNumber, ref temp);}
}

格式化输出结果

/// <summary>
/// 格式化质因数-乘式
/// N=a×a×a×a...×b×b×b×b×b...×c×c×c×c×c.....
/// </summary>
/// <param name="number"></param>
/// <param name="primeFactors"></param>
/// <returns></returns>
static string FormatMultiplicativeFormula(int number, List<int> primeFactors)
{return number + " = " + string.Join("×", primeFactors);
}
/// <summary>
/// 格式化质因数-指数式  
/// N=a^x1×b^x2×c^x3×.....
/// </summary>
/// <param name="number"></param>
/// <param name="primeFactors"></param>
/// <returns></returns>
static string FormatPowerlaw(int number, List<int> primeFactors)
{List<string> temps2 = new List<string>();foreach (var item in primeFactors.GroupBy(o => o)){int a = item.Key;int n = item.Count();temps2.Add($"{a}^{n}");}return number + " = " + string.Join("×", temps2);
}

Console.WriteLine($"{DecomposingPrimeFactors(12000)}");
12000 = 2^5×3^1×5^3

4.2 因数个数

枚举法

/// <summary>
/// 枚举法计算因数个数
/// </summary>
/// <param name="N"></param>
/// <returns></returns>
static double CalculateFactorCount(double N)
{int cnt=0;for(double i=1; i<=N;i+=1){var v = Math.Pow(5, i);if(N % i == 0){cnt++;}}return cnt;
}

公式法

/// <summary>
/// 使用因数公式计算个数
/// </summary>
/// <param name="N"></param>
/// <returns></returns>
static double CalculateFactorCount2(int number)
{int cnt = 1;int N = number;List<int> primeFactors = new List<int>();int primeNumber = 2;DecomposingPrimeFactors(ref N, ref primeNumber, ref primeFactors);foreach (var item in primeFactors.GroupBy(o => o)){int n = item.Count();cnt *=(n+1);}return cnt;
}
/// <summary>
/// 递归查找质因数
/// </summary>
/// <param name="N">传入需要分解的数</param>
/// <param name="primeNumber">传入第一个质数1</param>
/// <param name="temp">存储找到的质因数</param>
static void DecomposingPrimeFactors(ref int N, ref int primeNumber, ref List<int> temp)
{if (N <= 1){return;}if (N % primeNumber == 0){temp.Add(primeNumber);N = N / primeNumber;DecomposingPrimeFactors(ref N, ref primeNumber, ref temp);}else{primeNumber++;DecomposingPrimeFactors(ref N, ref primeNumber, ref temp);}
}

调用

    Console.WriteLine($"{DecomposingPrimeFactors(12000)}");var Count = CalculateFactorCount(12000);Console.WriteLine($"枚举法:12000的因数有{Count}个");var Count2 = CalculateFactorCount2(12000);Console.WriteLine($"公式法:12000的因数有{Count2}个");Console.ReadLine();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/34791.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于docker存储overlay2相关问题

报错如下&#xff1a; 报错原因&#xff1a;使用rm -rf 清理overlay2导致的&#xff0c;非正常清理。 正常清理命令如下&#xff1a; # 清理Docker的所有构建缓存 docker builder prune# 删除旧于24小时的所有构建缓存 docker builder prune --filter "until24h"#删…

堆中的路径

作者 陈越 单位 浙江大学 将一系列给定数字插入一个初始为空的最小堆 h。随后对任意给定的下标 i&#xff0c;打印从第 i 个结点到根结点的路径。 输入格式: 每组测试第 1 行包含 2 个正整数 n 和 m (≤103)&#xff0c;分别是插入元素的个数、以及需要打印的路径条数。下一…

20240624(周一)欧美股市总结:AI股再熄火!标普纳指连跌三日,英伟达市值跌穿3万亿美元,芯片股指跌3%

市场等待周五的美国PCE重磅通胀数据&#xff0c;今年票委、旧金山联储主席戴利称降息之前“还有更多工作要做”&#xff0c;纳指尾盘加速跳水并收跌1%&#xff0c;但道指五连涨至五周高位。谷歌、微软脱离最高&#xff0c;英伟达跌6.7%为近两个月最差&#xff0c;三天累跌近13%…

vue封装一个简单的权限管理功能, 控制页面的按钮显示与隐藏

vue封装一个简单的权限管理功能, 控制页面的按钮显示与隐藏 1、在项目入口html文件创建全局变量 <head><script>// 创建全局变量window.SITE_CONFIG {};// 登录成功后获取到的按钮权限数据存储到这里window.SITE_CONFIG[purview] [];</script> </head…

vue3-openlayers 点击多边形弹框,高亮多边形,自定义属性传递,鼠标悬浮多边形上动态修改鼠标样式

本篇介绍一下使用vue3-openlayers点击多边形弹框&#xff0c;高亮多边形&#xff0c;自定义属性传递&#xff0c;鼠标悬浮多边形上动态修改鼠标样式 1 需求 加载天地图&#xff0c;polygon传递自定义属性标悬浮在polygon上&#xff0c;根据自定义属性&#xff0c;动态修改鼠标…

AI学习指南机器学习篇-KNN的优缺点

AI学习指南机器学习篇-KNN的优缺点 在机器学习领域中&#xff0c;K最近邻&#xff08;K-Nearest Neighbors&#xff0c;KNN&#xff09;算法是一种十分常见的分类和回归方法之一。它的原理简单易懂&#xff0c;但在实际应用中也存在一些优缺点。本文将重点探讨KNN算法的优缺点…

web系统数据库敏感数据处理

一、前言 web系统数据库中保存的公民信息不允许明文存储&#xff0c;比如手机号&#xff0c;身份证号&#xff0c;收货地址等。 二、处理方式 数据库中密文存储&#xff0c;web通过注解的方式对数据加解密处理&#xff0c;下面是处理方法 1、编写接口 public interface E…

IIC学习笔记

目录 #I2C涉及相关知识 #I2C相关介绍 欢迎指正&#xff0c;希望对你&#xff0c;有所帮助&#xff01;&#xff01;&#xff01; 个人学习笔记&#xff0c;参考文献&#xff0c;链接最后&#xff01;&#xff01;&#xff01; #I2C涉及相关知识 SDA串行数据线&#xff1a; Ser…

AI降重技术:论文查重率的智能解决方案

现在大部分学校已经进入到论文查重降重的阶段了。如果查重率居高不下&#xff0c;延毕的威胁可能就在眼前。对于即将告别校园的学子们&#xff0c;这无疑是个噩梦。四年磨一剑&#xff0c;谁也不想在最后关头功亏一篑。 查重率过高&#xff0c;无非以下两种原因。要么是作为“…

软通动力携子公司鸿湖万联中标南方电网调峰调频发电有限公司数据采集装置研究开发项目

近日&#xff0c;软通动力携子公司鸿湖万联成功中标南方电网调峰调频发电有限公司数据采集装置研究开发项目。该项目是针对智能化、国产化、自主可控业务需求研制的基于国产芯片、OpenHarmony系统的抽蓄电站机械化施工数据采集设备。本次中标是软通动力布局数字能源战略的一次胜…

大数据组件--Hue

Apache Hue hue是一个集成化的大数据可视化软件&#xff0c;可以通过hue访问浏览操作主流的大数据生态圈软件。hue本身来自于cloudera后来贡献给了apachehue本身是一个web项目&#xff0c;基于python实现的&#xff0c;通过该web项目的UI集成了各个软件的UI 下面是一个hue调度…

【MySQL】如果表被锁可以尝试看一下事务

今天在MySQL中删除表的时候&#xff0c;发现无法删除&#xff0c;一执行drop&#xff0c;navicat就卡死。 通过 SHOW PROCESSLIST显示被锁了 kill掉被锁的进程后依旧被锁 最后发现是由于存在为执行完的事务 SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX; kill掉这些事务以…

证书在JAVA中的使用

1.需求 需要访问一个https的接口,是基于tlsv1.2协议的,目前有ca根证书(ca.cert),客户端证书(sparkercomm01.cert)和客户端私钥文件(sparkercomm01.key) 2.转化成jdk能识别的文件 2.1.ca根证书添加到jdk密钥库 执行命令,得到ca.jks文件 keytool -import -alias c…

EXCEL表格怎么批量删除日期后的时间?

竞价师最近有点忙了&#xff0c;因为百度新出来一个“线索有效性诊断”功能 一、下载电话、表单、咨询表格 二、选中整列 三、选中ctrlf 进行替换&#xff0c;日期输入空格&#xff0c;时间输入*&#xff0c;替换为空即可&#xff01; 四、整列单元格格式“日期”拉倒底部&…

大脑网路分析的进展:基于大规模自监督学习的诊断| 文献速递-先进深度学习疾病诊断

Title 题目 BrainMass: Advancing Brain Network Analysis for Diagnosis with Large-scale Self-Supervised Learning 大脑网路分析的进展&#xff1a;基于大规模自监督学习的诊断 01 文献速递介绍 功能性磁共振成像&#xff08;fMRI&#xff09;利用血氧水平依赖&#x…

威士顿携手 TDengine,共同推动工业数据处理效率提升

在全面推动数字化转型的背景下&#xff0c;实体经济与数字化经济的深度融合正成为行业新旧动能转换、建设现代工业经济运行体系、实现高质量发展的战略支点。其中&#xff0c;时序大数据的有效处理成为转型的关键驱动力&#xff0c;为实现智能化决策、精准运营和未来发展提供有…

代码随想录算法训练营:15/60

非科班学习算法day15 | LeetCode110:平衡二叉树 &#xff0c;Leetcode257:二叉树的所有路径 &#xff0c;Leetcode404:左叶子之和&#xff0c;Leetcode222:完全二叉树的节点个数 目录 介绍 一、基础概念补充&#xff1a; 1.平衡二叉树 二、LeetCode题目 1.LeetCode110:平…

面试-java多线程与并发

1.如何实现处理线程的返回值 (1)主线程等待法 主线程等待法&#xff1a;程序执行时&#xff0c;没有等到value值赋予完成&#xff0c;就直接在主函数 中执行打印value的值。 缺点&#xff1a;需要自己去实现循环等待的逻辑。若需要等待的变量变多&#xff0c;需要等待的时间可能…

【信息系统项目管理师知识点速记】变更管理

19.2 变更管理 变更管理是指在信息系统开发与维护过程中,控制所有变更请求,从而确保变更的顺利实施和系统的稳定运行。变更管理的目标是使变更过程透明化,保证每个变更有序可控地进行,减少变更带来的负面影响,提高变更实施的效率和质量。变更管理包括变更申请、评估、批准…

qt.qpa.xcb: could not connect to display问题解决

1、问题描述 以服务器pi5作为远程解释器&#xff0c;本地win11使用vscode远程调试视觉时报错如下&#xff1a; qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "xxxxx" even though it was …