[Lập trình C] The Snail in the Well

Sunday, April 11, 2021
Edit this post


Cuối tuần trước tôi có được công ty nhờ phỏng vấn một bạn người Ấn Độ cho vị trí Automation QA. Đây là câu hỏi của phần Hands-on coding mà tôi đã hỏi ứng viên. Đó là một bài toán khá quen thuộc "The Snail in the Well" (Con ốc sên ở trong giếng). Đây cũng là một trong những bài tập của khóa Javascript trên trang web SoloLearn.

Trọn vẹn đề bài như sau:

The snail climbs up 7 feet each day and slips back 2 feet each night.
How many days will it take the snail to get out of a well with the given depth?

Sample Input:
31

Sample Output:
6

Explanation: Let's break down the distance the snail covers each day:
Day 1: 7-2=5
Day 2: 5+7-2=10
Day 3: 10+7-2=15
Day 4: 15+7-2=20
Day 5: 20+7-2=25
Day 6: 25+7=32

So, on Day 6 the snail will reach 32 feet and get out of the well at day,
without slipping back that night.

Bài này dịch ra tiếng Việt nôm na là có 1 cái giếng với độ sâu cho trước. Có 1 con ốc sên ở đáy giếng. Ban ngày con ốc leo lên được 7 feet, ban đêm nó bị tuột xuống 2 feet. Hỏi sau bao lâu thì nó chạm được tới miệng giếng? Ví dụ với độ sâu 31 feet thì sau 5 ngày con ốc sên leo lên được 25 feet. Nhưng tới sáng ngày thứ 6 thì nó leo thêm được 25 + 7 = 32 feet tức là đã ra khỏi miệng giếng.

Như mọi khi, lời giải được viết bằng C. Nhưng các bạn có thể viết bằng bất cứ ngôn ngữ nào cũng được.


#include <stdio.h>

int main()
{
    int depth = 31;
    int days = 0;
    int pos = 0;
    
    while (1) {
        days++;
        pos += 7;
        if (pos >= depth) break;
        pos -= 2;
    }
    
    printf("%d", days);
    return 0;
}

.
Xin vui lòng chờ đợi
Dữ liệu bài viết đang được tải về

💻Nhận dạy online 1 kèm 1 Automation Test từ cơ bản tới nâng cao (From Zero to Hero) 😁😁😁
Lộ trình gồm 3 phần:
1) Kỹ thuật lập trình và tư duy lập trình cơ bản
2) Nhập môn kiểm thử (Manual Test)
3) Kiểm thử tự động (Automation Test) + Chuẩn bị cho phỏng vấn
* Lộ trình chi tiết: Xem tại đây

🎓Đối tượng người học:
- Những bạn bị mất gốc căn bản môn lập trình.
- Những bạn muốn theo con đường kiểm thử (testing), đặc biệt là kiểm thử tự động (Automation Test).

🦘Người giảng dạy:
- Mình sẽ là người trực tiếp hướng dẫn.
- Nếu là các vấn đề ngoài chuyên môn hoặc sở trường, mình sẽ nhờ các anh chị em khác cũng làm trong ngành.

🤓Giới thiệu:
- Mình đã có hơn 10 năm kinh nghiệm làm IT ở cả trong và ngoài nước. Trong đó 3 năm đầu là làm lập trình viên Java, sau đó bén duyên với mảng Automation Test và theo nghề tới tận bây giờ. Mình được đào tạo chính quy về IT từ một trường Đại học danh tiếng ở TP.HCM (hệ kỹ sư 4 năm rưỡi), có chứng chỉ ISTQB, có thể giao tiếp tốt bằng tiếng Anh và có kinh nghiệm làm việc thực tế ở cả 2 mảng Outsource và Product. Title chính thức của mình là QA Automation Engineer, tuy nhiên, mình vẫn làm những dự án cá nhân chuyên về lập trình ứng dụng như Học Tiếng Anh StreamlineSách Nhạc. Mình là người có thái độ làm việc chuyên nghiệp, chăm chỉ và luôn nhiệt tình trong công việc.

💵Chi phí và hình thức thanh toán:
- Các bạn vui lòng liên hệ qua email songtoigianvn@gmail.com (email, chat, hoặc call) để book nội dung và khung giờ học (từ 8h tối trở đi).
- Mức phí: 150.000đ/buổi, mỗi buổi 60 phút.
- Lộ trình From Zero to Hero: 4.350.000đ (29 buổi).
- Bạn có thể học riêng và đóng tiền theo từng phần nếu muốn.
- Có thể học trước 1-2 buổi trước khi quyết định đi full lộ trình hoặc từng phần.
- Thanh toán qua Momo, chuyển khoản v.v...
BÌNH LUẬN
© Copyright by CUỘC SỐNG TỐI GIẢN
Loading...