【C/C++】任意大于1的整数分解成素数因子乘积的形式
2024-08-24 04:51:59
//
#include<stdio.h>
#include<math.h>
#include<malloc.h>
int isprime(long n);
void decompose_to_primes(int n);
int main()
{
decompose_to_primes();
return ;
} void decompose_to_primes(int n)
{
int num;
int *prime[];
int pi=;
int temp,i,j,exp;
temp=(int)sqrt(n);
num=temp;
prime[]=(int*)malloc(num*sizeof(int));
prime[]=(int*)malloc(num*sizeof(int));
if(n<)// n==2 or n==3
{prime[][]=n;prime[][]=;pi++;}
for(i=;i<=temp;i++)
if(isprime(i))
{
exp=;
j=i;
while(n%j== && j<=n)
{exp++;j*=i;}
j/=i;
//if(exp)
{prime[][pi]=i;prime[][pi]=exp;
pi++;
n/=j;
}
}
//output primefactors whose exp!=0
for(i=;i<pi;i++)
if(prime[][i]!=)
printf("<%d,%d> ",prime[][i],prime[][i]);
printf("\n");
free(prime[]);
free(prime[]);
} int isprime(long n)
{
int bound;
int i;
bound=(int)sqrt(n);
for(i=;i<=bound;i++)
if(n%i==)
return ;
return ;
}
最新文章
- ubuntu系统虚拟机下共享文件夹
- 读书笔记---《火球:UML大战需求分析》
- 关于sql优化的一个小总结
- ppt 制作海报 导出高分辨率图片
- dubbo 教程
- hdu2767 Proving Equivalences Tarjan缩点
- 团队项目 SRS文档
- Spring MVC 详解(一)
- javascript进阶——分离式DOM脚本编程
- maven 创建的符号连接命令
- C primer plus 读书笔记第十四章
- ZedGraph控件生成饼图、拆线图和柱状图例程
- yii cgridview 默认的筛选如何做成选择框
- vs2005及以上版本的程序分发问题
- php 内置的 webserver 研究。
- Oracle AWRSQRPT报告生成和性能分析
- express基础项目创建
- Makefile有三个非常有用的变量。分别是$@,$^,$
- Android 常用算法
- LoadRunner中获取当前系统时间方法