Time Limit: 1000 MS Memory Limit: 131072 KB
Total Submission(s): 175 Accepted Submission(s): 107
Description
求出区间[a,b]中所有整数的质因数分解。
Input
输入两个整数a,b。2< =a< =b< =10000
Output
每行输出一个数的分解,形如k=a1*a2*a3...(a1< =a2< =a3...,k也是从小到大的)(具体可看样例)
Sample Input
3 10
Sample Output
3=3 4=2*2 5=5 6=2*3 7=7 8=2*2*2 9=3*3 10=2*5
Hint
先筛出所有素数,然后再分解。
Source
Unknown
key:中间的循环
附上AC代码:
#include<cstdio>
#include<iostream>
using namespace std;
int a=0,b=0,x=0,q=0;
int main()
{
cin>>a>>b;
for(int i=a;i<=b;i++)
{
cout<<i;
printf("=");
x=i;
q = x;
for (int i = 2; i <= q; i++)
{
if (x % i == 0)
{
if (x / i != 1)
{
printf("%d*", i);
x = x / i;
i--;
}
else
{
printf("%d\n", i);
break;
}
}
}
}
}