分解质因数

//输入两个数字a,b,则输出从a到b之间的所有整数的分解出质因数乘积的式子

void calArray(int *n) {

int t = 0;

int q = 0;

for (int i = 2; i < 10000; i++)

{

t = i;

for (int j = 2; j*j < i - 1; j++)

{

if (i%j == 0)

{

t = -1;

//cout << j;

}

}

if (t != -1)

{

//cout << t << endl;

n[q] = t;

q++;

}

}

}

void cal(int num, int *n)

{

cout << num << '=';

int pf[15];

int q = 0;

for (int i = 0; i < 2000; i++)

{

for (int j = 0; j < 15; j++)

{

if (num%n[i] == 0)

{

pf[q] = n[i];

q++;

num = num / n[i];

}

}

}

for (int i = 0; i < 15; i++)

{

if (pf[i] > 0 && pf[i] < 10000)

{

cout << pf[i];

}

if (pf[i + 1] > 0 && pf[i + 1] < 10000)

{

cout << '*';

}

}

cout << endl;

}

int main()

{

int n[2000];

calArray(n);

int min;

int max;

cin >> min;

cin >> max;

for (int i = min; i <= max; i++)

{

cal(i, n);

}

}

你可能感兴趣的:(分解质因数)