SPOJ.COM - Thuật toán bài TEST - Life, the Universe, and Everything

Posted on October 26th, 2016

Đề bài:

Chương trình của bạn là để sử dụng thuật toán vét cạn brute-force để tìm ra câu trả lời cho Life, the Universe, and Everything. Nói đúng hơn, hãy viết những số nhỏ từ đầu vào ra đầu ra. Quá trình dừng lại khi sau khi đọc được số 42.

Đầu vào

Tất cả những số đầu vào là những số nguyên có 1 hoặc 2 chữ số.

Đầu ra

In ra những số mà trước khi gặp số 42 ở đầu vào.

Ví dụ

Đầu vào:

1
2
88
42
99

Đầu ra:

1
2
88

Bạn có thể tham khảo link gốc đề bài và submit code tại đây:  http://www.spoj.com/problems/TEST/

Phân tích

Bài toán này chỉ là một bài toán đơn giản, có thể xếp loại vào dạng sử dụng thuật toán tham lam Greedy

Lời giải

Bạn nên tự mình nghĩ ra thuật toán của bài toán trước khi tham khảo code của mình nhé. Hãy phát huy tối đa khả năng sáng tạo của bản thân. Hơn nữa code mình viết ra cũng chưa thật sự tối ưu. Nên rất mong nhận được sự chia sẻ của bạn.

Code C/C++

#include <iostream>
using namespace std;
int main()
{
	//freopen("input.txt","r",stdin);
	int i = -1;
	while(true)
	{
		cin >> i;
		if(i == 42) break;
		cout << i << endl;
	}
	return 0;
}

Code Python:

while(1):
    x = input()
    y = int(x)
    if y == 42:
        break
    print y

★ Nếu bạn thấy bài viết này hay thì hãy theo dõi mình trên Facebook để nhận được thông báo khi có bài viết mới nhất nhé:

Xin chào và hẹn gặp lại, thân ái!