[r]
(1)Bài 16/2000 - Chia số (Dành cho học sinh THCS)
Lập bảng 2NxN ô Lần lượt ghi N2 số 1, 2, 3, , N2-1, N2 vào N cột, cột N số
theo cách sau:
1
2 N+1
3 N+2 2N+1
N 2N-1 3N-2 (N-1)N+1
2N 3N-1 N2-(N-2)
3N N2-(N-3)
N2-(N-4)
Trong N hàng trên, tổng i số hàng thứ i là: i+[N+(i-1)]+[2N+(i-2)]+ +[(i-1)N+1]
= N[1+2+ +(i-1)]+[i+(i-1)+(i-2)+ +1] = Ni(i-1)/2+i(i+1)/2
= (Ni2-Ni+i2+i)/2
Trong N hàng dưới, tổng (N-i) số hàng thứ N+i (i+1)N+[(i+2)N-1]+[(i+3)N-2]+ +[N2-(N-i-1)]
= N[(i+1)+(i+2)+ +N]-[1+2+ +(N-i-1)] = N(N+i+1)(N-i)/2 - (N-i-1)(N-i)/2 = (N2+Ni+i+1)(N-i)/2
= (N3+Ni+N-Ni2-i2-i)/2
Cắt đôi bảng theo đường kẻ đậm ghép lại thành bảng vuông sau:
1 2N 3N-1 N2-(N-2)
2 N+1 3N N2-(N-3)
3 N+2 2N+1 N2-(N-4)
N 2N-1 3N-2 (N-1)N+1
Khi tổng số hàng thứ i
(Ni2-Ni+i2+i)/2 + (N3+Ni+N-Ni2-i2-i)/2 = (N3+N)/2 = N(N2+1)/2
Rõ ràng hàng có N số tổng số hàng Bài 17/2000 - Số nguyên tố tương đương
(Dành cho học sinh THCS) Có thể viết chương trình sau: Program Nttd;
Var M,N,d,i: integer;
{ -}
(2)Var r: integer; Begin
While n<>0 begin
r:=m mod n; m:=n; n:=r; end;
USCLN:=m; End;
{ -} BEGIN
Write('Nhap M,N: '); Readln(M,N); d:=USCLN(M,N); i:=2;
While d<>1 begin
If d mod i =0 then begin
While d mod i=0 d:=d div i; While M mod i=0 M:=M div i; While N mod i=0 N:=N div i; end;
Inc(i); end;
If M*N=1 then Write('M va N nguyen to tuong duong.') Else Write('M va N khong nguyen to tuong duong.'); Readln;