#include <stdio.h>

#define TRUE	1
#define FALSE	0

int main() {
	int num, i, exp, primera_vez;

	printf("Descomponer en factores primos\n"
			"Intro número? ");
	scanf("%d", &num);
	for (i = 2, exp = 0, primera_vez = TRUE; num > 1;) {
		if (num % i == 0) {
			num /= i;
			exp++;
		} else {
			if (exp > 0) {
				if (primera_vez) {
					primera_vez = FALSE;
				} else {
					printf(" x ");
				}
				printf("%d^%d", i, exp);
			}
			i++;
			exp = 0;
		}
	}
	if (!primera_vez) {
		printf(" x ");
	}
	printf("%d^%d", i, exp);
	printf("\n");
}

