本文共 865 字,大约阅读时间需要 2 分钟。
资源限制
时间限制:1.0s 内存限制:512.0MB求出区间[a,b]中所有整数的质因数分解。
输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=22 5=5 6=23 7=7 8=222 9=33 10=25 提示 先筛出所有素数,然后再分解。 数据规模和约定 2<=a<=b<=1000从区间前端开始一次遍历,在每次遍历时,需要2开始判断,是否为该数的质因数,并设置一个数累加,在循环中判断是否为质数,是否为因数,值得注意的是最后几个判断的条件应当小心。
代码呈上:
#include#include int main() { long int b,i,k,m,n; scanf("%ld%ld",&m,&n); for(i=m;i<=n;i++) { printf("%ld=",i); b = i;k = 2; while(k<=sqrt(i)) { if(b%k==0) { b = b/k; if(b>1) { printf("%ld*",k);continue; } if(b==1) printf("%ld\n",k); } k++; } if(b>1&&b
运行示例
转载地址:http://qnrzi.baihongyu.com/