Límite de recursos
Límite de tiempo: 1,0 s Límite de memoria: 512,0 MB
Descripción del problema
Encuentre la factorización prima de todos los números enteros en el intervalo [a, b].
Formato de entrada
Ingrese dos números enteros a, b.
Formato de salida
Cada línea genera la descomposición de un número, como k = a1 * a2 * a3 ... (a1 <= a2 <= a3 ..., k también es de pequeño a grande) (vea el ejemplo para más detalles)
Entrada de muestra
3 10
Salida de muestra
3 = 3
4 = 2 * 2
5 = 5
6 = 2 * 3
7 = 7
8 = 2 * 2 * 2
9 = 3 * 3
10 = 2 * 5inmediato
Primero tamice todos los números primos y luego descomponga.
Tamaño de datos y convención
2 <= a <= b <= 10000
#include<bits/stdc++.h>
using namespace std;
int pan(int n)
{
int i,f=0;
int k=(int)sqrt(n);
for(i=2;i<=k;i++)
{
if(n%i==0)
{
f=1;
break;
}
}
if(f==1||n==1)
return 0;
else
return 1;//是素数
}
int main()
{
int n,m,i,j;
scanf("%d%d",&n,&m);
for(i=n;i<=m;i++)
{
if(pan(i)==1)
{
printf("%d=%d\n",i,i);
}
else
{
int k=i;
j=2;
printf("%d=",k);
while(k!=j)//结束的条件
{
for(j=2;j<k;j++)
{
if(k%j==0&&k!=j)
{
printf("%d*",j);
k=k/j;
break;
}
}
}
printf("%d\n",k);
}
}
return 0;
}