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.
Thuật toán khá đơn giản:
- Map lần lượt từng chữ với từng số: A-1, B-2 ...
như vậy có thể lấy ký tự cần tính trừ đi số đại diện cho A rồi + 1 vào là đổi được chữ ra số
- Chú ý không phân biệt hoa thường
Ta có hàm sum:
func sum(s string) int {Dễ thấy từ nào càng dài và chứa càng nhiều chữ cuối bảng chữ cái thì sẽ càng to:
s = strings.ToLower(s)
sum := 0
for _, char := range s {
sum += int(char-'a') + 1
}
return sum
}
- PROCASTINATION: 174
- masturbation: 153
- pussy: 100
- discipline: 100
--- ai có đầu óc khoa học và chăm chỉ có thể mở rộng chương trình để tìm tất cả các từ có tổng == 100 ~ kết quả sẽ khá bất ngờ.
Chạy code trực tiếp ở
Golang: https://play.golang.org/p/6oKJFUf6EP
Ruby: http://www.rubystub.com/23396892/ (Thank to +Lam Tung )
Python: ???
Hết.
Happy meo meo.