质因数分解(唯一分解定理)
来源:互联网 发布:java中tomcat安装教程 编辑:程序博客网 时间:2024/05/21 11:35
质因数分解(唯一分解定理)
基本概念:
每个合数都可以写成几个质数相乘的形式,其中每个质数都是这个合数的因数,叫做这个合数的分解质因数。 分解质因数只针对合数。
并且,每个合数能够且仅仅能够被分解为唯一一组质因数的乘积。
介绍与证明:
质因数分解一般用来求解对一个整数的分解。
算法实现:
注意:以下只是一个介绍性质的代码,实际的质因数分解将使用素数筛法预处理后进行分解。
#include<stdio.h>
intm,b,c=0,j=0;
inta[10]; //存放质因数
int fjzys(intk)
{
int i=2;
while(k>=i) //判断k是否合格
{
if(k%i==0) //判断k是否整除当前因数
{
a[j]=i; //存入因数
k/=i; //余数
i=2; //令i重新等于2
j++; //计数值
}
else
{
i++; //不能整除则当前因数为非质因数
}
}
return 0;
}
/* 用for实现上面的函数
int fjzys(intk)
{
int i=2;
for ( ; i<=k ; i++ ) //当因数i<=k时,实现该循环,每次循环因数i自加1
for ( ; k%i==0 ; j++ ) //当k整除当前因数,实现该循环,每次循环下标j自加1
{
k/=i; //使k=k/i
a[j]=i; //存入因数
}
return 0;
}
解决上面的函数,无法输出,多个相同的质因数,如90=2*3*3*5,只能输出一个3.
*/
void main()
{
printf("请输入一个整数\nk=");
scanf("%d", &m);
fjzys(m);
for(b=0;b<(j-1);b++) //*比质因数少一个
{
printf("%d",a[b]);
printf("*");
}
printf("%d\n",a[j-1]); //输出最后一个质因数
}
推荐习题:
HDU 5428
HDU 1215
~step by step
- 质因数分解(唯一分解定理)
- 质因数分解(唯一分解定理)
- HDU 5428 质因数分解(唯一分解定理)
- HDU2421 质因数分解、唯一分解定理
- 质因数分解定理
- uva10375(唯一分解定理)
- 唯一分解定理(数论)
- UVa10375(唯一分解定理)
- uva10375(唯一分解定理)
- uva10791(唯一分解定理)
- Minimum Sum LCM 唯一分解定理+求质因数UVA
- 算数基本定理(唯一分解定理)
- 算术基本定理(唯一分解定理)
- 分解质因数(算术基本定理)
- 生物芯片(关灯问题 质因数分解定理)
- 唯一分解定理
- 唯一分解定理
- 数论-唯一分解定理
- 比较好用的java导出大数据量Excel
- 设计模式-原型模式
- echarts 地图类型热度图 visualMap 图列数值导致 地图发生严重的显示bug
- 读取cpp文件处理
- HashPasswordForStoringInConfigFile 已过时
- 质因数分解(唯一分解定理)
- 【FZU
- 每天一点积累(一二)---JVM之GC垃圾回收
- 设计模式-模板方法模式
- cordova 华为cordova-plugin-image-picker 闪退处理
- 持续集成接口自动化-jmeter+ant+jenkins(一)
- 什么是需求文档测试?什么是设计文档测试?
- shell脚本之文件包含
- 写给自己看的博客_每日随笔_json