Tìm tất cả các ước số của một số nguyên trong C++
Trong toán học, ước số được định nghĩa như sau: Ước số của một số tự...
Kết quả sẽ mở trong tab mới, giới hạn trong website này.
Truy cập nhanh
Tìm kiếm gần đây
Giải sử, cần viết chương trình xuất các số từ 1 đến 10. Đơn giản là sử dụng 10 câu lệnh cout<<. Nhưng cần viết chương trình xuất các số từ 1 đến 1000. Sử dụng 1000 câu lệnh cout<< thì sẽ là một pha xử lý thật “cồng kềnh”. Giải pháp là sử dụng […]
Giải sử, cần viết chương trình xuất các số từ 1 đến 10. Đơn giản là sử dụng 10 câu lệnh cout<<. Nhưng cần viết chương trình xuất các số từ 1 đến 1000. Sử dụng 1000 câu lệnh cout<< thì sẽ là một pha xử lý thật “cồng kềnh”.
Giải pháp là sử dụng cấu trúc lặp để thực hiện các công việc mang tính lặp lại khi thỏa mãn điều kiện nào đó. Có 3 lệnh lặp trong C++ là for, while, do…while. Bài này sẽ giới thiệu cách sử dụng vòng lặp while.
while (<điều kiện lặp>)
{
//code block
}
với <điều kiện lặp> thường là biểu thức với các toán tử quan hệ, kết quả trả về là true (0) hoặc false (0).
Kiểm tra <điều kiện lặp>, nếu <điều kiện lặp> đúng (true) thì dòng lệnh trong while sẽ được thực thi.
Quá trình kiểm tra <điều kiện lặp> và thực thi dòng lệnh trong while sẽ chấm dứt cho đến khi <điều kiện lặp> sai (false). Tức là, nếu bất cứ khi nào <điều kiện lặp> sai (false) thì vòng lặp while sẽ chấm dứt.
#include <iostream>
using namespace std;
int main()
{
int i = 1;
// while loop from 1 to 5
while (i <= 5) {
cout << i << " ";
++i;
}
return 0;
}
1 2 3 4 5| Lần lặp | Biến i | Điều kiện lặp i<=5 | Thực thi |
| 1 | i=1 | true | In ra 1 và tăng i lên 2 |
| 2 | i=2 | true | In ra 2 và tăng i lên 3 |
| 3 | i=3 | true | In ra 3 và tăng i lên 4 |
| 4 | i=4 | true | In ra 4 và tăng i lên 5 |
| 5 | i=5 | true | In ra 5 và tăng i lên 6 |
| 6 | i=6 | false | Vòng lặp chấm dứt |
if (n < 10 && m < 20)
{
while (n >= 1)
{
while (m >= 1)
{
cout<<m<<endl;
m--;
}
n--;
}
}
int n = 1;
while (n > 10)
{
cout<<n<<endl;
n--;
}
int n = 0;
while (n < 10);//while sẽ không thực thi được
{
cout<<n<<endl;
n++;
}
while (n < 10)
{
};//while sẽ không thực thi được
{
cout<<n<<endl;
n++;
}
int n = 1;
while (n < 10)//n=1, n-- thì điều kiện lặp vô hạn
{
cout<<n<<endl;
n--;
}
n = 1;
while (n < 10){//n=1 thì điều kiện lặp vô hạn
cout<<n<<endl;
}
Lưu ý: Khi sử dụng vòng lặp while phải tránh sai cú pháp và điều kiện lặp vô hạn.