Puente Azul 12a Clase

Xiaolan planea usar 256 MB de espacio de memoria para abrir una matriz. Cada elemento de la matriz es un entero binario de 32 bits. Si no se considera el espacio ocupado por el programa y el espacio auxiliar requerido para el mantenimiento de la memoria, ¿cuántos 32 bits Los números de bits se pueden almacenar en 256 MB de espacio . ¿

1 MB = 1024 KB 1 KB = 1024 bytes (byte) 1 byte = 8 bits (bits)

El binario de 32 bits son 4 bytes.

256*1024*1024/4

Descripción de la pregunta

Xiaolan tiene un almacén muy grande que puede almacenar una gran cantidad de productos.

Ahora, Xiaolan tiene n cajas de mercancías para colocar en el almacén, y cada caja de mercancías es un cubo normal. Xiaolan estipula tres direcciones mutuamente perpendiculares de largo, ancho y alto. Los lados de cada caja de mercancías deben ser estrictamente paralelos al largo, ancho y alto.

Xiao Lan espera que todos los productos eventualmente se organicen en un gran paralelepípedo rectangular. Es decir, los bienes � L , � W y � H se apilan en las direcciones de largo, ancho y alto respectivamente , satisfaciendo �=�×�×� n = L × W × H .

Dado � n , ¿cuántas formas de apilar productos pueden cumplir los requisitos?

Por ejemplo, cuando �=4 n =4, existen las siguientes 66 soluciones: 1×1×4, 1×2×2, 1×4×1, 2×1×2, 2×2×1, 4× 1×11×1×4, 1×2×2, 1×4×1, 2×1×2, 2×2×1, 4×1×1.

Disculpe, cuando �=2021041820210418 n =2021041820210418 (tenga en cuenta que son 1616 dígitos), ¿cuántas soluciones hay en total?

Consejo: Se recomienda utilizar programación informática para solucionar el problema.

envío de respuesta

Esta es una pregunta para completar los espacios en blanco, solo necesita calcular el resultado y enviarlo. El resultado de esta pregunta es un número entero. Complete solo este número entero cuando envíe la respuesta. No se otorgarán puntos si completa el contenido en exceso.

restricciones operativas

  • Tiempo máximo de funcionamiento: 1s

  • Memoria máxima en funcionamiento: 256M

#incluir <iostream>

#incluir<vector>

usando el espacio de nombres estándar;

int principal()

{

vector<largo largo>v;

largo largo n=2021041820210418;

for(largo largo i=1;i*i<=n;i++){

si(n%i==0){

v.push_back(i);

si(n/i!=i)

v.push_back(n/i);

}

}

suma int=0;

para(int i=0;i<v.size();i++){

para(int j=0;j<v.size();j++){

para(int k=0;k<v.size();k++){

if(v[i]*v[j]*v[k]==n)suma++;

}

}

}

cout<<suma<<endl;

devolver 0;

}

Supongo que te gusta

Origin blog.csdn.net/m0_74310050/article/details/129093836
Recomendado
Clasificación