Bài toán: Tính tích các ước số lẻ của số nguyên dương n nhập vào từ bàn phím.
- Input
15
- Output
225
Tích tất cả các ước số của số 15(các giá trị 1, 3, 5, 15) là 225.
Xây dựng chương trình tính tích các ước số lẻ của số nguyên
Tìm các ước số của số nguyên
Để tính tích các ước số của số nguyên thì trước tiên ta phải tìm tất cả các ước số của số nguyên n. Nếu các bạn chưa biết cách tìm các ước số của số nguyên dương n thì có thể xem lại tại đây.
Nhưng bài toán của chúng ta là tính tích các ước số lẻ của số nguyên dương chứ không phải liệt kê chúng ^_^.
Xây dựng hàm tính tích tất cả các ước số
Chúng ta sẽ xây dựng một hàm fun có kiểu trả về là int. Giá tri trả về của hàm chính là tích tất cả các ước số lẻ của số nguyên dương. Trong hàm fun chúng ta khởi tạo một biến value
có giá trị là 1. Sau đó tiến hành kiểm tra tất cả các ước số của số nguyên dương n. Nếu đó chính là số lẻ thì ta tiến hành nhân giá trị đó và gán lại cho value
.
int fun(int n) { int value = 1; for (int i = 1; i <= n; i++) { if (n%i == 0 && i%2==1) { value *= i; } } return value; }
Viết chương trình tính tích các ước số lẻ
Code chương trình bằng C++
Dưới đây là code chương trình bằng ngôn ngữ C++ các bạn có thể tham khảo
#include <iostream> using namespace std; int fun(int n) { int value = 1; for (int i = 1; i <= n; i++) { if (n%i == 0 && i%2==1) { value *= i; } } return value; } int main() { int number; cout << "Nhap so nguyen duong: "; cin >> number; cout << "Tich tat ca uoc so le cua so nguyen la: " << fun(number); return 0; }
Sau khi chạy ta có kết quả như sau
Nhap so nguyen duong: 15 Tich tat ca uoc so le cua so nguyen la: 225
Code chương trình bằng C
#include<stdio.h> int fun(int n) { int value = 1; for (int i = 1; i <= n; i++) { if (n%i == 0 && i%2==1) { value *= i; } } return value; } int main() { int number; printf("Nhap so nguyen duong: "); scanf("%d",&number); printf("Tich tat ca uoc so le cua so nguyen la: %d", fun(number) ); return 0; }
Sau khi chạy ta có kết quả như sau
Nhap so nguyen duong: 15 Tich tat ca uoc so le cua so nguyen la: 225
Lưu ý: Nếu các bạn code trong visual studio thì các bạn thay hàm scanf bằng scanf_s nhé !
Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !
Để lại một bình luận