[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ề

BÌNH LUẬN

Cảm ơn bạn đã đọc bài viết của Cuộc Sống Tối Giản. Đây là một blog cá nhân, được lập ra nhằm mục đích lưu trữ và chia sẻ mọi thứ hay ho theo chủ quan của chủ sở hữu. Có lẽ vì vậy mà bạn sẽ thấy blog này hơi (rất) tạp nham. Mọi chủ đề đều có thể được tìm thấy ở đây, từ tâm sự cá nhân, kinh nghiệm sống, phim ảnh, âm nhạc, lập trình... Phần lớn các bài đăng trong blog này đều được tự viết, trừ các bài có tag "Sponsored" là được tài trợ, quảng cáo, hoặc sưu tầm. Để ủng hộ blog, bạn có thể share những bài viết hay tới bạn bè, người thân, hoặc có thể follow Kênh YouTube của chúng tôi. Nếu cần liên hệ giải đáp thắc mắc hoặc đặt quảng cáo, vui lòng gửi mail theo địa chỉ phipgn@gmail.com. Một lần nữa xin được cảm ơn rất nhiều!!!
© Copyright by CUỘC SỐNG TỐI GIẢN
Loading...