C++分解质因数
来源:互联网 发布:大数据时代论文3000字 编辑:程序博客网 时间:2024/06/05 19:09
问题描述:
求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=2*25=56=2*37=78=2*2*29=3*310=2*5提示 先筛出所有素数,然后再分解。数据规模和约定 2<=a<=b<=10000
代码:
#include <cstdio> #include <iostream> #define max 10000 int prime[max]; int isPrime(int n) { int flag = 1; for(int i = 2; i*i <= n; i++) if(n%i == 0) flag = 0; return flag; } int getPrime(int m) { int cnt = 0; int flag = 1; for(int i = 2; i <= m; i++){ flag = 1; for(int j = 2; j*j <= i; j++) if(i%j == 0) flag = 0; if(flag) prime[cnt++] = i; } return cnt; } void split(int m) { int i = 0; int t = 0; while(m != 1){ t = m/prime[i]; if(t*prime[i] == m){ m /= prime[i]; if(m != 1) printf("%d*",prime[i]); else printf("%d",prime[i]); } else i++; } printf("\n"); } int main() { int st,end; int cnt = getPrime(10000); scanf("%d%d",&st,&end); for(int i = st; i <= end; i++) { if(isPrime(i)) printf("%d=%d\n",i,i); else { printf("%d=",i); split(i); } } return 0; }
转载来自:http://blog.csdn.net/u012027907/article/details/21447447
0 0
- [C/C++] 分解质因数
- C语言分解质因数
- C分解质因数
- 【C语言】分解质因数
- c算法-分解质因数
- c语言:分解质因数
- C语言分解质因数
- C语言-分解质因数
- C语言-分解质因数
- 【c语言】分解质因数
- C语言 > 分解质因数
- 分解质因数程序(C++)
- C语言实现分解质因数
- C算法分解质因数与分解因子
- c语言:将一个正整数分解质因数
- 经典c程序(0015)---正整数分解质因数
- C语言实现 N!的质因数分解
- 分解质因数-week6-C语言习题集
- Hadoop installation Local (Standalone) Mode
- linux 用户、用户组的使用及ssh连接
- python之元组
- PowerDesigner逆向工程导入MYSQL数据库总结
- 通过FrameLayout分析onMeasure
- C++分解质因数
- MQTT协议学习心得
- java深拷贝浅拷贝
- MySql安装配置及使用入门
- 小Win,点一份APC(Apc机制详解)(一)
- 简述throw和throws的区别
- GC的简单介绍
- OpenCV的读取图像使用注意事项
- Sourcetree配置开源中国的git远程库公钥