Ứng dụng và tính chất của biến static trong C
1 #include
2 #include
3 #include
4 #define MAX_LINES 25
5 #define MAX_COLS 80
6
7 void display_text(int line, int col, char text[]);
8 void print_spaces(int n);
9 void insert_blank_lines(int n);
10
11 int main() {
12 int row, column, i;
13 char message[MAX_COLS] = "Xin chào, tháng Tư!";
14
15 srand(time(0));
16 ...
Đăng vào ngày 2 tháng 10 lúc 16:44
Vấn đề Vòng Hoa Cúc Josephus (Giải Qua Đệ Quy Từ Công Thức Đệ Tích)
Mô tả vấn đề
--
Vấn đề đặt ra: Có m người đứng thành một vòng tròn, đánh số từ 0 đến m-1. Bắt đầu từ người thứ 0, họ bắt đầu đếm, người đếm đến k-1 sẽ bị loại ra khỏi vòng tròn. Người tiếp theo tiếp tục đếm từ 0 và người đếm đến k-1 tiếp theo cũng bị loại ra... quá trình này lặp lại cho đến khi chỉ còn lại một người trong vòng tròn. Cần xác địn ...
Đăng vào ngày 23 tháng 9 lúc 02:26
Kỹ thuật xử lý hàm, biến tĩnh và thuật toán đệ quy trong ngôn ngữ C
1. Điều khiển vị trí hiển thị văn bản ngẫu nhiên
Trong lập trình console, việc giả lập vị trí hiển thị có thể thực hiện thông qua việc in các dòng trống và khoảng trắng. Ví dụ dưới đây minh họa cách sử dụng hàm rand() để hiển thị một chuỗi ký tự tại các tọa độ ngẫu nhiên trên màn hình sau mỗi khoảng thời gian nhất định.
#include <stdio.h> ...
Đăng vào ngày 13 tháng 8 lúc 04:14
Tối ưu chiến thuật tiêu diệt quái vật bằng kỹ năng trong Go
Trong bài toán này, ta cần tìm số lượng kỹ năng tối thiểu để hạ gục quái vật. Mỗi kỹ năng có sát thương cơ bản và khả năng gây sát thương gấp đôi khi máu quái vật không cao hơn ngưỡng nhất định. Mỗi kỹ năng chỉ dùng được một lần duy nhất.
Phân tích bài toán
Thông tin đầu vào gồm:
n: số lượng kỹ năng (1 ≤ n ≤ 10)
m: lượng máu ban đầu của quái ...
Đăng vào ngày 8 tháng 8 lúc 03:13
Giải Thuật Quay Lui và Bài Toán Kết Hợp Trên LeetCode
Giới thiệu về giải thuật quay lui
Giải thuật quay lui (backtracking) và đệ quy có mối quan hệ mật thiết với nhau. Bất cứ nơi nào có đệ quy, thường sẽ có sự quay lui, và nó thường xuất hiện ngay sau lời gọi đệ quy.
Giải thuật này thường được áp dụng để giải quyết các loại bài toán như:
Bài toán kết hợp
Bài toán chia cắt (partitioning)
Bài to ...
Đăng vào ngày 6 tháng 8 lúc 22:14
Tổng quan về Cấu trúc Dữ liệu và Thuật toán cơ bản
Phức tạp về Thời gian
Phức tạp về thời gian (Time Complexity) là thước đo đánh giá hiệu suất của một thuật toán, cho biết số lượng thao tác cần thiết để thuật toán hoàn thành, thường được biểu diễn dưới dạng ký hiệu O lớn (Big O notation).
Vòng lặp giảm một nửa
Một số thuật toán có đặc điểm là kích thước dữ liệu hoặc phạm vi tìm kiếm giảm đi m ...
Đăng vào ngày 14 tháng 7 lúc 20:27
Triển khai menu đa cấp trong Python với cơ chế quay lui
Bài viết này hướng dẫn cách xây dựng một menu phân cấp ba cấp trong Python, tập trung vào việc tối ưu hóa mã nguồn và triển khai chức năng quay lui.
Tối ưu hóa cấu trúc dữ liệu cho menu
Mã nguồn cho các cấp độ khác nhau trong menu thường có cấu trúc lặp lại. Để giảm thiểu sự trùng lặp này, chúng ta có thể sử dụng một biến để theo dõi cấp độ hi ...
Đăng vào ngày 13 tháng 7 lúc 09:39
Hợp nhất hai danh sách liên kết đã sắp xếp
Bài toán này yêu cầu kết hợp hai danh sách liên kết đơn đã được sắp xếp tăng dần thành một danh sách liên kết mới cũng sắp xếp tăng dần. Danh sách kết quả được tạo ra bằng cách nối tất cả các nút từ hai danh sách ban đầu.
Ví dụ:
Input: ds1 = [1,2,4], ds2 = [1,3,4]
Output: [1,1,2,3,4,4]
Input: ds1 = [], ds2 = []
Output: []
Input: ds1 = [], ...
Đăng vào ngày 12 tháng 7 lúc 00:47
Hướng dẫn toàn diện về hàm trong Python
Trong toán học, hàm biểu diễn mối quan hệ ánh xạ giữa đầu vào và đầu ra, ví dụ như f(x) = 2x + 1. Trong Python, điều này được hiện thực hóa như sau:
def f(x):
return 2 * x + 1
Hàm trong Python là một khối mã đã được định nghĩa trước, bao gồm ba thành phần chính: đầu vào (tham số), xử lý logic bên trong và đầu ra (giá trị trả về).
Định n ...
Đăng vào ngày 5 tháng 7 lúc 02:40
Các Phương Pháp Duyệt Cây Nhị Phân: Đệ Quy, Lặp và Duyệt Theo Chiều Rộng
Duyệt cây nhị phân là một thao tác cơ bản và quan trọng trong khoa học máy tính, cho phép chúng ta truy cập từng nút trong cây theo một thứ tự xác định. Bài viết này sẽ đi sâu vào các kỹ thuật duyệt cây nhị phân, bao gồm duyệt theo chiều sâu (DFS) và duyệt theo chiều rộng (BFS), cùng với các phương pháp cài đặt khác nhau.
Các Khái Niệm Cơ Bản ...
Đăng vào ngày 27 tháng 6 lúc 22:21