Trong bài viết này chúng ta sẽ thực hiện chương trình liệt kê các ước số lẻ của số nguyên dương n bằng C / C++.
Mình sẽ thực hiện hai chương trình để liệt kê các ước số lẻ của số nguyên dương n bằng hai ngôn ngữ khác nhau là C và C++.
Liệt kê các ước số lẻ của số nguyên dương n bằng C
Ta cần khai báo biến n kiểu int là số cần liệt kê các ước số lẻ. Sau đó sử dụng vòng lặp do..while để yêu cầu người dùng nhập vào số n > 0, nếu n <= 0 thì nhập lại.
Sử dụng vòng lặp for lặp từ 1 đến >= n để liệt kê các ước số của n. Trong vòng lặp xét điều kiện nếu các ước số là số lẻ thì dùng printf() để in ra màn hình.
#include<stdio.h> int main() { int n; //sử dụng dowhile để yêu cầu người dùng nhập vào số lớn hơn 0 //nếu n < 0 thì yêu cầu nhập lại do { printf("\nNhập vào số nguyên n lớn hơn 0: "); scanf("%d", &n); if(n <= 0) { printf("\n Số n phải lớn hơn 0, vui lòng nhập lại !"); } }while(n <= 0); //sử dụng vòng lặp for để tính tổng các ước số của n printf("Các ước số lẻ của %d là: ",n); for(int i = 1; i <= n; i++) { if(n % i == 0) { if(i % 2 == 1) printf("%4d", i); } i++; } printf("\n-----------------------------------------\n"); printf("Chương trình này được đăng tại Freetuts.net"); }
Kết quả:
Liệt kê các ước số lẻ của số nguyên dương n bằng C++
Việc liệt kế các ước số lẻ của một số nguyên dương n bằng C++ cũng tương tự như ngôn ngữ C.
Ta chỉ cần thay thế printf() và scanf() trong ngôn ngữ C bằng cout và cin trong C++. Các bạn nhớ khai báo thư viện <iostream> trước khi sử dụng nó nhé.
#include<iostream> using namespace std; int main() { int n; long P = 1; //sử dụng dowhile để yêu cầu người dùng nhập vào số lớn hơn 0 //nếu n < 0 thì yêu cầu nhập lại do { cout<<"\nNhập vào số nguyên n lớn hơn 0: "; cin>>n; if(n <= 0) { cout<<"\n Số n phải lớn hơn 0, vui lòng nhập lại !"; } }while(n <= 0); //sử dụng vòng lặp for để tính tích các ước số của n cout<<"Các ước số lẻ của "<<n<<" là: "; for(int i = 1; i <= n; i++) { if(n % i == 0) { if(i % 2 == 1) printf("%4d", i); } i++; } cout<<"\n-----------------------------------------\n"; cout<<"Chương trình này được đăng tại Freetuts.net"; }
Kết quả:
Như vậy là chúng ta đã thực hiện xong chương trình liệt kê các ước số lẻ của số nguyên n bằng C / C++. Các bạn có thể tham khảo các bài tập khác tại Tổng hợp 1000 bài tập C / C++ nhé, chúc các bạn thành công !!!
Nguồn: freetuts.net