分解质因数
2014-03-16 13:26
309 查看
基础练习 分解质因数
时间限制:1.0s 内存限制:512.0MB
问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
输入两个整数a,b。
输出格式
每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)
样例输入
3 10
样例输出
3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5
提示
先筛出所有素数,然后再分解。
数据规模和约定
2<=a<=b<=10000
时间限制:1.0s 内存限制:512.0MB
问题描述
求出区间[a,b]中所有整数的质因数分解。
输入格式
输入两个整数a,b。
输出格式
每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)
样例输入
3 10
样例输出
3=3
4=2*2
5=5
6=2*3
7=7
8=2*2*2
9=3*3
10=2*5
提示
先筛出所有素数,然后再分解。
数据规模和约定
2<=a<=b<=10000
# include <stdio.h> int a,b; int c[10000]={0}; int k=1; int isSushu(int n) { int j; for (j=2; j<n; j++) if (n%j == 0) return 0; return 1; } void findSushu(int a, int b) { int i; for (i=2; i<=b; i++) if (isSushu(i)) c[k++]=i; } void fenJie(int n) { int i=1,j,t,k; int flag=0; while (n!=1) { while (n%c[i]==0) { n = n/c[i]; if (flag == 0) { flag = 1; printf("%d", c[i]); } else printf("*%d", c[i]); } i++; } } int main() { int i,j; int flag=0; scanf("%d %d", &a, &b); findSushu(a, b); for (i=a; i<=b; i++) { if (isSushu(i)) printf("%d=%d\n", i,i); else { printf("%d=", i); fenJie(i); printf("\n"); } } return 0; }
相关文章推荐
- Virtual-box构建ubuntu11.10全过程备注
- Want an IT job? Learn OpenStack
- 1.CCNP闫辉视频笔记RIP
- 龟兔赛跑预测
- 解决【HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容】
- .net中的三层架构简介
- No bean named 'Menuservice' is definedorg.springframework.beans.factory.NoSuchBeanDefinitionExcepti
- 【LeetCode】Convert Sorted Array to Binary Search Tree && Convert Sorted List to Binary Search Tree
- cuda memory
- 芯片测试
- 【建议】回复无兴趣如何提高效率之说
- 移动tomcat之后总共需要修改的三个地方
- Linux下的lds链接脚本基础
- java反射详解
- 高精度加法
- 【DFS】hdu 1175 连连看 stack
- 阶乘计算(高精度)
- 在电脑上测试手机网站全攻略
- 黑马程序员-C#常用字符串操作
- 频道编号 频率表