Cho một số n (n<=50). Hỏi cho biết có bao nhiêu cách tạo các phân số (Lớn hơn 0 và bé hơn 1) sao cho mẫu số bé hơn hoặc bằng n. Chỉ tính các phân số tối giản Ví dụ: n = 4 Xuất ra màn hình: Giải thích: 5 Tạo được các số: 1/2; 1/3; 1/4; 2/3; 3/4
Cho một số n (n<=50). Hỏi cho biết có bao nhiêu cách tạo các phân số (Lớn hơn 0 và bé hơn 1) sao cho mẫu số bé hơn hoặc bằng n. Chỉ tính các phân số tối giản Ví dụ: n = 4 Xuất ra màn hình: Giải thích: 5 Tạo được các số: 1/2; 1/3; 1/4; 2/3; 3/4
Program FNG;
Uses crt;
Var n,d: qword;
i,j: longint;
Function UCLN(a,b: qword): qword;
Var r: qword;
Begin
While a<>0 do
Begin
r:=b mod a;
b:=a;
a:=r;
End;
UCLN:=b;
End;
Begin
Clrscr;
Write(‘Nhap n: ‘); Readln(n);
d:=0;
For i:=1 to n-1 do
For j:=i+1 to n do
If UCLN(i,j)=1 then
inc(d);
Write(d);
Readln
End.
uses crt;
var dem,n,i,j:longint;
function kt(a,b:longint):boolean;
var i:longint;
begin
kt:=true;
for i:=2 to a do if(a mod i=0)and(b mod i=0) then kt:=false;
end;
begin
clrscr;
write(‘n=’);readln(n);
for i:=1 to n do
for j:=1 to i-1 do
if kt(i,j) then inc(dem);
writeln(dem);
readln;
end.
Mình cho i chạy từ 1 tới n
Mình cho j chạy từ 1 tới i-1(để thỏa mãn điều kiện phân số j/i bé hơn 1)
Mình sẽ kiểm tra đó có phải số nguyên tố cùng nhau không vì phân số tối giản có tử số và mẫu số là hai số nguyên tố cùng nhau.(hàm kt)
Nếu phải thì tăng biến dem(đếm).
Xuất biến dem.
Chú thích: i là mẫu số, j là tử số nha.