Tuesday, 26 May 2015

[CodeGold] Kiểm tra 2 list giống nhau

Update: Đã có code ví dụ bằng Golang/Python, mời các bạn đóng góp các phương án khác sử dụng các thuật toán khác,  các ngôn ngữ khác.

Cho 2 list đầu vào, kiểm tra xem 2 list này có giống nhau không (cùng phần tử, cùng thứ tự).
Với các list đầu vào:
xs = ['pikachu', 'tho', 'chim']
ys = ['chim', 'tho', 'pikachu']
zs = ['chim', 'tho', 'pikachu', 'chaien']
xxs =  ['pikachu', 'tho', 'chim']

Thuật toán thực hiện cần đảm bảo trả về kết quả sai khi so ``xs`` với ``ys`` ``zs``, và trả về kết quả đúng khi so với ``xxs``.

Đề bài viết bằng Python nhưng có thể dễ dàng dịch sang các ngôn ngữ khác.
Hãy suy nghĩ kỹ cách giải của mình trước khi bấm vào "đọc tiếp".

Thursday, 21 May 2015

[CodeMath] Giải "Bài toán lớp 3 có số lượng đáp án khổng lồ"

Một bài toán làm náo loạn cộng đồng mạng =)) vậy giải hoy còn chờ gì :3
Đã có lời giải bằng Golang, mời các bạn đóng góp lời giải bằng ngôn ngữ khác và cùng đối chiếu kết quả :D

http://vnexpress.net/tin-tuc/giao-duc/bai-toan-lop-3-co-so-luong-dap-an-khong-lo-3220439.html

với các biến a,b,c,d,e,f,g,h,i là các số nằm trong khoảng 1-9 (các biến có thể có giá trị giống nhau), dạng biểu thức:
a + 13 * b / c + d + 12 * e – f – 11 + g * h / i – 10 = 66
1. Câu hỏi cho học sinh lớp 3: Tìm các số từ a đến i thoả mãn bài toán (tìm một nghiệm của bài toán)
2. Câu hỏi cho cử nhân, kỹ sư, lập trình viên, hacker blah blah: BÀI TOÁN NÀY CÓ BAO NHIÊU NGHIỆM?
3. Câu hỏi cho fan thỏ bảy màu và chaien: Có bao nhiêu phần trăm hư cấu trong câu nói : "Tôi đã dùng ngôn ngữ lập trình Maple để thử tìm hết tất cả đáp án của bài toán và chỉ 3-4 phút đã cho tới 74 trang A4 các đáp số" của thạc sĩ ở đầu bài viết?
4. Tính xấp xỉ số trang A4 - 1 mặt, để in hết kết quả của bài toán với font Time new roman size14, line giãn cách default, mỗi dòng chứa tối đa số đáp án có thể viết được (ví dụ viết 9 số liền nhau rồi tách với đáp án khác bằng một dấu cách).
Phân tích chém gió:
Bài này tính một cách thô sẽ có: 9 biến, mỗi biến có 9 cách chọn, vậy có tất cả 9*9 :
In [5]: 9 ** 9
Out[5]: 387420489 # "ba trăm triệu có lẻ" khả năng.
Thuật toán tối ưu để giải là trừ dần đi để giảm giới hạn của các biến về sau.

Lời giải:

Monday, 18 May 2015

[Hanoi] học lập trình python tại lớp học của các thành viên FAMILUG

Đăng ký tại: http://fml.vn/

Kế hoạch ấp ủ đã lâu, giờ thời cơ đã đến, tớ quyết định đứng lớp để đào tạo mội đội hình python đầy nguy hiểm ngay tại lòng thủ đô Hà Nội.
 
Nội dung chi tiết và đăng ký bấm thẳng vào mặt biểu tượng Python bên dưới:



Chú ý PHẢI gửi thêm email từ địa chỉ đã điền trong mẫu đăng ký tới địa chỉ hvn@familug.org để chứng thực. (Tiêu đề: đăng ký lớp PyFML1)

Vài điểm nhấn:
- Trả lại học phí sau 3 buổi học nếu không tiếp tục.
- Review và fix code cho học viên.
- Giảng viên là hvnsweeting - contributor của Saltstack (CTRL F tìm salt) hiện với 74 commits, fix nhiều lỗi nghiêm trọng, top 10 contributor của Diamond
- Trợ giảng là hai học viên đời "F1", chính là 2 người đã thử nghiệm chương trình học này lúc còn thưở ban đầu. Trong đó một người là sinh viên tốt nghiệp khoa hoá, trở thành lập trình viên /sysadmin từ con số 0 tròn trĩnh.
- Đảm bảo truyền tải những kinh nghiệm mà học viên sẽ phải tự mò rất nhiều mới có được.
- Khoá đầu tiên nên học phí còn rẻ :D

Saturday, 16 May 2015

[CodeGolf] Dài nhất và ngắn nhất

Đã có code Golang, các ngôn ngữ khác lại chờ bạn đóng góp :D 

Trong cuộc sống, người ta vẫn luôn quan tâm đến những cái nhất, nhất, nhất chứ không phải thứ 2 hay thứ 10.
WorldCup cứ 4 năm diễn ra, nóng bỏng là thế, nhưng vẫn có đội đề xuất bỏ hẳn trận đá tranh giải 3-4 vì người ta xem cũng chỉ quan tâm đội được nhất thôi.

Và để được nhớ mãi, hãy là dài nhất, hoặc ngắn nhất chứ đừng là dạng vừa:

Cho một danh sách các loài, tìm con nào tên dài nhất và ngắn nhất:
In [6]: xs = ['chim', 'bo', 'ga', 'vit', 'voi', 'buom', 'than lan']

Thursday, 14 May 2015

m17n, ibus-m17n

m17n là cái tên khá kỳ lạ:
m17n là một kiểu viết tắt đặc biệt của từ : Multilingualization
Từ này có 19 chữ cái -> m + (ulti...atio)-"17 chữ" + n = 19 chữ.
Trên ubuntu, cài gói ibus-m17n để có hỗ trợ gõ tiếng Việt bằng ibus.
$ echo -n Multilingualization | wc -c
19
Hết.

Saturday, 9 May 2015

[Code] Tính từ cùng 9gag

UPDATE: đã có code Go, Ruby.  Các ngôn ngữ khác đang chờ bạn đóng góp :p 
Tối ngủ, sốt, nóng, thấy 9gag có cái hình hay hay, code ngay cho nóng

http://9gag.com/gag/aWWP7bd?ref=fbp


Hãy nghĩ thuật toán bạn sẽ dùng để tính ra số theo quy tắc trong bức hình trước khi bấm đọc tiếp.

Wednesday, 6 May 2015

httpbin - xem mình đã làm gì với 1 HTTP request

httpbin là tên 1 pip package, là phiên bản offline của site: http://httpbin.org/

Trên một máy tính đã cài sẵn pip, có thể cài nó bằng lệnh sau:
$ pip install httpbin gunicorn
Sau khi chạy, app python này sẽ được chạy và listen port 8000:
$ gunicorn httpbin:app
[2015-05-06 14:03:47 +0700] [26875] [INFO] Starting gunicorn 19.3.0
[2015-05-06 14:03:47 +0700] [26875] [INFO] Listening at: http://127.0.0.1:8000 (26875)
[2015-05-06 14:03:47 +0700] [26875] [INFO] Using worker: sync
[2015-05-06 14:03:47 +0700] [26878] [INFO] Booting worker with pid: 26878
Giờ hãy gửi 1 GET request bằng curl đến đây để xem được mình đã làm gì: