Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C in số từ 1 đến N không dùng dấu chấm phẩy


Ở đây chúng ta sẽ thấy một giải pháp thủ thuật cho bài toán. Chúng ta sẽ in các số từ 1 đến N mà không sử dụng bất kỳ dấu chấm phẩy nào.

Chúng ta có thể giải quyết bài toán này bằng hai phương pháp khác nhau. Phương pháp đầu tiên là phương pháp lặp (Iterative), và phương pháp thứ hai là phương pháp đệ quy (Recursive).

Phương pháp 1

Hàm printf() trả về độ dài của chuỗi nên nó là giá trị khác 0. Chúng ta có thể thực hiện phép AND logic với điều kiện để in kết quả. Sau đó tăng giá trị của bộ đếm.

Mã ví dụ

#include <stdio.h>
#define N 20

int main(int num, char *argv[]) {
    while (num <= N && printf("%d ", num) && num++) {
        // Thân vòng lặp rỗng.
    }
}

Kết quả đầu ra

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Phương pháp 2

Trong phương pháp thứ hai, chúng ta sẽ thấy cách làm cùng nhiệm vụ bằng đệ quy. Chúng ta sẽ truyền một số đối số cho hàm main. Hàm main này sẽ được gọi đệ quy.

Mã ví dụ

#include <stdio.h>
#define N 20

main(int val) {
    if (val <= N && printf("%d ", val) && main(val + 1)) {
        // Thân rỗng
    }
}

Kết quả đầu ra

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20