Nội dung bài viết
1. Tính tổng phân số c++
Đề bài: Bạn hãy viết chương trình nhập vào vào N phân số, và tính tổng các phân số đó. Kết quả bài toán phải là phân số tối giản và phải dùng kiểu dữ liệu cấu trúc.
Ví dụ:
N=2
1/3+ 2/6 = 2/3
2. Code Tính tổng phân số c++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | #include <iostream> #include <stdio.h> using namespace std; struct ps { int tu; int mau; }; ps a[100]; int n; void nhap() { freopen("test.inp", "r", stdin); cin>> n; for (int i=1; i<=n; i++) cin >> a[i].tu>>a[i].mau; } void xuat() { for (int i=1; i<=n; i++) cout << a[i].tu<< "/" <<a[i].mau<<endl; } int ucln(int a, int b) { int r; while (a%b!=0) { r=a%b; a=b; b=r; } return b; } ps tongps() { int i,z; ps tmp=a[1]; for (i=2; i<=n; i++) { tmp.tu = tmp.tu*a[i].mau + tmp.mau*a[i].tu; tmp.mau = tmp.mau*a[i].mau; z=ucln(tmp.tu, tmp.mau); tmp.tu /=z; tmp.mau /=z; } return tmp; } void xuli() { ps tong = tongps(); cout << "Tong PS = "<<tong.tu<< "/"<< tong.mau; } int main() { nhap(); xuat(); xuli(); return 0; } |
Bài viết liên quan
- [Wecode 2015] Problem B: Mở khóa
- [C++] Liệt kê các số nguyên tố nhỏ hơn n
- Viết thuật toán kiểm tra xem N là số nguyên tố hay không?
- [BFS] – SPOJ PPATH
- Khi nào nên dùng tham chiếu, tham trị, biến toàn cục?
- [C++] Số hoàn hảo
- Tôi ứng dụng cấp phát động trên mảng 2 chiều như thế nào?
- [Wecode 2015] Problem D: Khoảng cách
- [C++] Kiểm tra ma trận đối xứng
- [c++] Tìm số nghịch đảo