Khi ta vừa đọc nội dung của một bài toán tin, một thuật giải lập tức nảy sinh trong đầu. Thuật giải này thường được gọi là thuật giải tự nhiên. Theo thuật giải tự nhiên ta có thể thu được một kết quả sai hoặc là một lời giải kém hữu hiệu theo nghĩa chương trình đòi hỏi quá nhiều bộ nhớ hoặc/và chạy quá lâu. Tất nhiên, khái niệm này chỉ là tương đối. Nếu bạn đã nắm vững nhiều dạng thuật giải và đã từng thử sức với nhiều bài toán khó thì đến một lúc nào đó, các thuật giải tự nhiên của bạn sẽ đáng tin cậy. Với mục đích cung cấp những kiến thức cơ bản về lập trình trong C++, Python và Java cho các bạn học sinh, sinh viên và những bạn đọc muốn tự hoàn thiện tri thức trong lĩnh vực giải thuật và lập trình; Nhà xuất bản Thông tin và Truyền thông xuất bản cuốn sách “Sáng tạo trong Thuật toán và Lập trình với C++, Python và Java (Tập 6: Các bài toán 26-50 trong Dự án Euler)” do PGS.TSKH. Nguyễn Xuân Huy biên soạn. Các kỹ thuật lập trình được minh họa qua những bài toán cụ thể tương đương với trình độ nâng cao của học sinh và sinh viên. Các kỹ thuật lập trình và phương pháp xây dựng thuật giải cho những bài toán thường được dùng rộng rãi trong quá trình thiết kế và cài đặt các phần mềm ứng dụng trong thực tiễn, vì vậy việc sớm làm chủ các tri thức này mới thật sự là cần thiết. Cuốn sách này cung cấp các chương trình viết bằng ngôn ngữ lập trình C++, Python và Java để bạn đọc tiện so sánh với lời giải của mình. Ở Tập 5 đã xuất bản, cuốn sách hướng dẫn giải 25 bài đầu tiên trong Dự án Euler. Ở Tập 6 này, cuốn sách hướng dẫn giải 25 bài tiếp theo, từ Bài 26 đến Bài 50 trong Dự án Euler. “Dự án Euler (mang tên nhà toán học vĩ đại Leonhard Euler) là một trang web giới thiệu các bài toán tin cần được giải trên máy tính. Dự án thu hút học sinh và sinh viên ham thích khoa học máy tính. Kể từ ngày Colin Hughes khởi xướng vào năm 2001, Dự án Euler đã được phổ biến và trở nên nổi tiếng trên toàn thế giới. Dự án bao gồm trên 750 bài toán tin và sau hai tuần lễ lại có thêm một bài mới (trừ dịp nghỉ hè). Các bài toán tin có mức độ dễ khó khác nhau nhưng đều đòi hỏi các thuật giải hiệu quả trên máy tính với thời gian thực hiện trên bộ xử lý (CPU) dưới một phút. Các đề bài được sắp xếp theo độ khó. Người giải đúng được bài toán sẽ tham gia thảo luận một số vấn đề liên quan. Tính đến nay, Dự án Euler đã có trên một triệu người tham gia từ khắp nơi trên thế giới, với tiêu chí đã giải được ít nhất một bài. Các bài giải được viết bằng hơn 100 ngôn ngữ lập trình khác nhau. Các thành viên có thể theo dõi sự tiến bộ của mình thông qua bảng thành tích ghi nhận số các bài đã giải. Sau mỗi lần giải được 25 bài thì sẽ được nâng thêm một mức. Một giải thưởng đặc biệt sẽ được trao cho thành viên nào giải được những nhóm bài đặc biệt, ví dụ giải thưởng cho 50 bài có số hiệu là các số nguyên tố. Mức Euler trên bảng thành tích ghi nhận 50 người giải nhanh nhất bài mới ra. Như vậy, các thành viên mới có thể thi đấu mà không cần phải giải các bài cũ”. Các bài trong tập này được trình bày theo sơ đồ sau: Đề bài Hiểu đề Thuật toán Chương trình C++ Chương trình Python Chương trình Java Bình luận và cải tiến/nâng cao Tác giả: Nguyễn Xuân Huy Số trang: 280 trang Khổ: 14,5 x 20,5 cm Năm xuất bản: 2021
👁️
192 | 🔗 | 💖 | ✨ | 🌍 | ⌚
VNĐ: 106,250
Khi ta vừa đọc nội dung của một bài toán tin, một thuật giải lập tức nảy sinh trong đầu. Thuật giải này thường được gọi là thuật giải tự nhiên. Theo thuật giải tự
Khi ta vừa đọc nội dung của một bài toán tin, một thuật giải lập tức nảy sinh trong đầu. Thuật giải này thường được gọi là thuật giải tự nhiên. Theo thuật giải tự
Khi ta vừa đọc nội dung của một bài toán tin, một thuật giải lập tức nảy sinh trong đầu. Thuật giải này thường được gọi là thuật giải tự nhiên. Theo thuật giải tự
phải|nhỏ|402x402px|[[Mã nguồn của một chương trình máy tính đơn giản được viết bằng ngôn ngữ lập trình C. Khi được biên dịch và chạy, nó sẽ cho kết quả "Hello, world!".]] **Ngôn ngữ lập trình**
**Lập trình hướng đối tượng** () là một mẫu hình lập trình dựa trên khái niệm "đối tượng", mà trong đó, đối tượng chứa đựng các dữ liệu trong các trường, thường được gọi là
**Python** () là ngôn ngữ lập trình bậc cao đa năng. Triết lý thiết kế của nó nhấn mạnh khả năng đọc mã bằng cách sử dụng thụt lề đáng kể. Python có kiểu động
nhỏ|Cbmain Trong khoa học máy tính, một **ngôn ngữ lập trình bậc cao** (tiếng Anh: _high-level programming language_) là một ngôn ngữ lập trình có sự trừu tượng hóa mạnh mẽ khỏi các chi tiết
**Ruby** là một ngôn ngữ lập trình hướng đối tượng, có khả năng phản ứng. Theo tác giả, Ruby chịu ảnh hưởng bởi Perl, Smalltalk, Eiffel, Ada và Lisp. Ruby cung cấp nhiều mẫu hình
**Lập trình máy tính** hay **lập chương trình máy tính,** thường gọi tắt là **lập trình** (, hay _programming_), là việc lập ra chương trình làm việc cho máy có bộ xử lý, nói riêng
**Pascal** là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp
Python Cơ Bản Hiện nay ngôn ngữ lập trình bậc cao Python đang nổi lên như một ngôn ngữ lập trình được sử dụng NHIỀU NHẤT trên thế giới. Điều này được giải thích bằng
SÁCH PYTHON CƠ BẢN Hiện nay ngôn ngữ lập trình bậc cao Python đang nổi lên như một ngôn ngữ lập trình được sử dụng NHIỀU NHẤT trên thế giới. Điều này được giải thích
phải|Biểu đồ hoạt động của một trình biên dịch lý tưởng. **Trình biên dịch** () hay **phần mềm biên dịch** là một chương trình máy tính làm công việc dịch một chuỗi các câu lệnh
Hà Lan, bất chấp diện tích và dân số thực sự khiêm tốn, có một phần đóng góp đáng kể trong quá trình hình thành nên xã hội hiện đại ngày nay. Đất nước Hà
Trong lập trình hướng đối tượng dựa trên lớp, **hàm tạo** (tiếng Anh: _constructor_, viết tắt: _ctor_) trong một lớp là một kiểu chương trình con đặc biệt được dùng để tạo ra đối tượng.
Trong kỹ thuật phần mềm, các thuật ngữ **front-end** (đầu trước) và **back-end** (đầu sau) đề cập đến sự tách biệt các mối quan tâm giữa tầng trình diễn (giao diện người dùng) và tầng
thumb|Minh họa mã nguồn [[Java (programming language)|Java với comment **mở đầu** được biểu thị bằng màu **đỏ** và comment **nội dòng** bằng màu **lục**. **Mã chương trình** là bằng màu **lam**.]]Trong lập
Lập trình không chỉ đòi hỏi tư duy logic mà còn cần sự sáng tạo, tỉ mỉ và khả năng giải quyết vấn đề liên tục. Google AI Studio mang đến sức mạnh của AI
Trong ngôn ngữ máy tính, các **phép toán trên thao tác bit** (tiếng Anh: _bitwise operation_) là các phép toán được thực hiện trên một hoặc nhiều chuỗi bit hoặc số nhị phân tại cấp
**LibreOffice** là bộ ứng dụng văn phòng mã nguồn mở do The Document Foundation phát triển. Nó phân nhánh từ OpenOffice.org năm 2010, phiên bản nguồn mở của StarOffice trước đó. Bộ LibreOffice bao gồm
Công ty TNHH MTV Nghiên cứu, Sản xuất, Thương mại Khoa học và Công nghệ Chiyo chuyên nghiên cứu, sản xuất và kinh doanh các sản phẩm công nghệ cao, tập trung vào lĩnh vực
**Ngôn ngữ kịch bản** () là ngôn ngữ lập trình cho môi trường thời gian chạy đặc biệt tự động hóa thực thi các tác vụ; các tác vụ thay thế có thể
Trong khoa học máy tính, **tìm kiếm nhị phân** (), còn gọi là **tìm kiếm nửa khoảng** (_half-interval search_), **tìm kiếm logarit** (_logarithmic search_), hay **chặt nhị phân** (_binary chop_), là một thuật toán tìm
thumb|[[Băng đục lỗ với từ "Wikipedia" được biên mã theo ASCII. Sự xuất hiện và không xuất hiện một lỗ lần lượt tượng trưng cho 1 và 0; ví dụ, "W" được biên mã thành
Trong các lĩnh vực an ninh máy tính và lập trình, một **lỗi tràn bộ nhớ đệm** hay gọi tắt là **lỗi tràn bộ đệm** (tiếng Anh: _buffer overflow_) là một lỗi lập trình có
**Symbian** là một hệ điều hành đã ngừng phát triển được viết và sử dụng phổ biến cho hầu như điện thoại di động của những năm 90 và đầu thế kỉ 21. Symbian ban
Trong lập trình máy tính, đặc biệt là khi sử dụng mô phạm lập trình mệnh lệnh, **assertion** (có thể dịch là **xác quyết**) là một vị ngữ (tức hàm có giá trị Boolean lên
Một **game engine** (**phần mềm làm game**) là một phần mềm được viết để thiết kế và phát triển video game (trò chơi điện tử), hiểu đơn giản nó là loại phần mềm trung gian
**Raspberry Pi** là một dòng máy tính bo mạch đơn (hay còn gọi là máy tính nhúng) có kích thước chỉ bẳng một thẻ tín dụng được phát triển tại Anh bởi Raspberry Pi Foundation
**Ethereum** **(ETH)** là một nền tảng điện toán có tính chất phân tán, công cộng, mã nguồn mở dựa trên công nghệ Blockchain. Nó có tính năng hợp đồng thông minh (kịch bản), tạo thuận
nhỏ|Olympic Tin học Sinh viên Việt Nam **Olympic Tin học Sinh viên Việt Nam** là kì thi tin học lớn nhất dành cho sinh viên hiện nay. Mục đích của cuộc thi nhằm khuyến khích