Phân số – Code trong C++ và Pascal

Khi còn bé, các bạn học sinh học được cách trừ phân số bằng cách quy đồng mẫu số, rồi mới thực hiện phép trừ.

Nhưng một lần, Bờm tính thử hiệu hai phân số bằng cách lấy hiệu hai tử số và hiệu hai mẫu số và thấy thật ngạc nhiên là kết quả vẫn đúng.

Bờm thấy tính chất này thật kỳ diệu và Bờm muốn biết, với phân số cho trước, có bao nhiêu cặp giá trị a ≥ 0 và m > 0 sao cho:

INPUT

  • Một dòng chứa hai số nguyên dương bn cách nhau ít nhất một dấu cách (1 ≤ b, n ≤ 106)

OUTPUT

  • Ghi ra một số nguyên là số lượng cặp (a, m) thỏa mãn yêu cầu.

Ví dụ:

INPUT OUTPUT
9 12 5

Giải thích ví dụ:

Có 5 cặp (a, m) thỏa mãn ứng với 5 phân số:

Code trong C++

#include <bits/stdc++.h>
using namespace std;
int b,n;
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
   freopen("fraction.inp","r",stdin);
	freopen("fraction.out","w",stdout);
    cin>>b>>n;
    int d=0;
    for (int m=1;m<=(2*n);m++)
    {
        long long k=n*n;
        long long x=b*m*(2*n-m);
        if(x%k==0&&m!=n) d++;
    }
    cout<<d;
    return 0;
}

Code trong pascal

 

Related Posts

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

error: Content is protected !!