about summary refs log tree commit diff
path: root/12/Q-VĩnhTường-2006/cau3.c
diff options
context:
space:
mode:
authorRaphael McSinyx <vn.mcsinyx@gmail.com>2016-11-06 11:13:14 +0700
committerRaphael McSinyx <vn.mcsinyx@gmail.com>2016-11-06 11:13:14 +0700
commit7de121c4b4ef888a0d1990c27144a7f9dd8c5f94 (patch)
tree2a298c9a957ad490cf8251ab264413f4effa9dce /12/Q-VĩnhTường-2006/cau3.c
parente4767bb46d1d759f9c863704e3f347d2a0c8c49a (diff)
downloadcp-7de121c4b4ef888a0d1990c27144a7f9dd8c5f94.tar.gz
Thêm đề HSG 12 huyện Vĩnh Tường, Vĩnh Phúc
Diffstat (limited to '12/Q-VĩnhTường-2006/cau3.c')
-rw-r--r--12/Q-VĩnhTường-2006/cau3.c40
1 files changed, 40 insertions, 0 deletions
diff --git a/12/Q-VĩnhTường-2006/cau3.c b/12/Q-VĩnhTường-2006/cau3.c
new file mode 100644
index 0000000..136f154
--- /dev/null
+++ b/12/Q-VĩnhTường-2006/cau3.c
@@ -0,0 +1,40 @@
+#include <stdio.h>
+#include <math.h>
+
+const char PRIMES[] = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31};
+
+int main()
+{
+	char i;
+	short n, n0;
+
+	scanf("%hd", &n);
+
+	if (n < 2) {
+		printf("\n%hd\n", n);
+
+		return 0;
+	}
+
+	n0 = n;
+
+	for (i = 0; i < 11; i++)
+		while (n0 % PRIMES[i] == 0) {
+			n0 /= PRIMES[i];
+			printf("%hd ", PRIMES[i]);
+		}
+
+	if (n0 - 1)
+		printf("%hd\n", n0);
+	else
+		putchar(10);
+
+	n0 = pow(2, (int) log2(n) - 1);
+
+	if (n0 * 3 > n)
+		printf("%hd\n", n0 * 2);
+	else
+		printf("%hd %hd\n", n0 * 2, n0 * 3);
+
+	return 0;
+}