From 2f674dc80f0382f1c3178f435714960734dc9d3c Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Sat, 6 Jun 2020 21:33:13 +0700 Subject: Reorganize stuff from secondary school --- .../README.md" | 67 ---------------------- .../cau1.c" | 20 ------- .../cau2.c" | 39 ------------- .../cau3.c" | 40 ------------- .../cau4.c" | 26 --------- 5 files changed, 192 deletions(-) delete mode 100644 "12/Q-V\304\251nhT\306\260\341\273\235ng-2006/README.md" delete mode 100644 "12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau1.c" delete mode 100644 "12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau2.c" delete mode 100644 "12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau3.c" delete mode 100644 "12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau4.c" (limited to '12/Q-VĩnhTường-2006') diff --git "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/README.md" "b/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/README.md" deleted file mode 100644 index c96c99e..0000000 --- "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/README.md" +++ /dev/null @@ -1,67 +0,0 @@ -# ĐỀ THI HSG LỚP 12 HUYỆN VĨNH TƯỜNG NĂM HỌC 2006-2007 - -Môn: Tin học -Thời gian: 150 phút (không kể thời gian giao đề). - -## Câu 1 (5 điểm) - -Nhập vào một số nhị phân có `n` chữ số (`n` < 100). Hãy in ra số dư khi chia số -đó cho 3. - -Ví dụ: - -| n | Số nhị phân | Kết quả | -| ---: | --------------: | :-----: | -| 3 | 101 | 2 | -| 8 | 10100111 | 2 | -| 12 | 100000001101 | 0 | -| 14 | 11001111101110 | 1 | -| 6 | 111111 | 0 | -| 15 | 111111111111110 | 0 | - -## Câu 2 (4 điểm) - -Nhập vào số nguyên dương `n`. Hãy in ra số nguyên tố nhỏ nhất lớn hơn `n`. - -Ví dụ: - -| n | Kết quả | -| ---: | ------: | -| 10 | 11 | -| 7 | 11 | -| 44 | 47 | -| 992 | 997 | -| 2332 | 2333 | - -## Câu 3 (8 điểm) - -Nhập vào từ số tự nhiên `n` (`n` < 1000). - -1. Phân tích `n` thành tích các thừa số nguyên tố. -2. Tìm các số tự nhiên nhỏ hơn hoặc bằng `n` mà sau khi làm phép phân tích ở - phần 1 có nhiều nhân tử nhất. - -Ví dụ: - -| n | Kết quả | -| ---: | -------------- | -| 9 | 3 3
8 | -| 15 | 3 5
8 12 | -| 21 | 3 7
16 | -| 70 | 2 5 7
64 | -| 150 | 2 3 5 5
128 | - -## Câu 4 (3 điểm) - -Nhập vào một mảng gồm `n` (`n` < 20) số nguyên dương. Hãy đếm xem trong mảng có -bao nhiêu số bậc thang. Biết một số được gọi là số bậc thang nếu biểu diễn thập -phân của nó có nhiều hơn một chữ số đồng thời theo chiều từ trái qua phải, chữ -số đứng sau không nhỏ hơn chữ số đứng trước. - -Ví dụ: - -| n | Dãy số | Kết quả | -| :---: | ------------------------ | :-----: | -| 7 | 1 4 7 5 8 9 3 | 0 | -| 5 | 123 102 10023 9 21 | 1 | -| 6 | 115 110 11112 31 14 1109 | 3 | diff --git "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau1.c" "b/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau1.c" deleted file mode 100644 index 173e7c2..0000000 --- "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau1.c" +++ /dev/null @@ -1,20 +0,0 @@ -#include -#include - -int main() -{ - char b[100], i; - short a = 0; - - scanf("%s", b); - - for (i = strlen(b) - 1; i >= 0; i -= 2) - a += b[i] - 48; - - for (i = strlen(b) - 2; i >= 0; i -= 2) - a += b[i] * 2 - 96; - - printf("%d\n", a % 3); - - return 0; -} diff --git "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau2.c" "b/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau2.c" deleted file mode 100644 index 4ad1c3b..0000000 --- "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau2.c" +++ /dev/null @@ -1,39 +0,0 @@ -#include -#include - -char prime(unsigned long long m) -{ - unsigned long i; - - for (i = 3; i <= sqrt(m); i += 2) - if (m % i == 0) - return 0; - - return 1; -} - -int main() -{ - unsigned long long n, i; - - scanf("%lld", &n); - - if (n == 1) { - puts("2"); - - return 0; - } - - i = (n % 2) ? n : n - 1; - - while (i <= 18446744073709551615ULL) { - i += 2; - - if (!prime(i)) - continue; - - printf("%lld\n", i); - - return 0; - } -} diff --git "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau3.c" "b/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau3.c" deleted file mode 100644 index 136f154..0000000 --- "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau3.c" +++ /dev/null @@ -1,40 +0,0 @@ -#include -#include - -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; -} diff --git "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau4.c" "b/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau4.c" deleted file mode 100644 index d971927..0000000 --- "a/12/Q-V\304\251nhT\306\260\341\273\235ng-2006/cau4.c" +++ /dev/null @@ -1,26 +0,0 @@ -#include -#include - -int main() -{ - char n, count = 0, s[21], c, i; - unsigned long long m; - - for (n = 1; n < 20 && scanf("%lld", &m) != EOF; n++) { - if (m < 10) - continue; - - sprintf(s, "%lld", m); - c = s[0]; - - for (i = 1; i < strlen(s) && c; i++) - c = (c > s[i]) ? 0 : s[i]; - - if (c) - count++; - } - - printf("%hhd\n", count); - - return 0; -} -- cgit 1.4.1