K
Khách

Hãy nhập câu hỏi của bạn vào đây, nếu là tài khoản VIP, bạn sẽ được ưu tiên trả lời.

27 tháng 10 2019

uses crt;
var a,b,tam:integer;
{------------------------------------------------------}
procedure nhap(var n:integer);
begin
write('nhap mot so nguyen bat ky: '); readln(n);
end;
{--------------------------------------------------------}
procedure doicho(var x,y:integer);
begin
writeln('so a truoc khi thay doi la: ',x);
writeln('so b truoc khi thay doi la: ',y);
begin
tam:=x;
x:=y;
y:=tam;
end;
writeln('so a sau khi thay doi la: ',x);
writeln('so b sau khi thay doi la: ',y);
end;
{---------------------------------------------------------}
begin
clrscr;
nhap(a);
nhap(b);
doicho(a,b);
readln;
end.

1)

uses crt;

var a,b,bcnn,i:integer;

begin

clrscr;

write('a='); readln(a);

write('b='); readln(b);

bcnn:=a*b;

for i:=a*b-1 downto 1 do 

  if (i mod a=0) and (i mod b=0) then

begin

if bcnn>i then bcnn:=i;

end;

writeln(bcnn);

readln;

end.

 

2:

procedure hoandoi(a,b:integer);

var tam:integer;

begin

tam:=a;

a:=b;

b:=tam;

end;

  

procedure hoandoi(a,b:integer);

var tam:integer;

begin

tam:=a;

a:=b;

b:=tam;

end;

21 tháng 4 2023
Viết hàm tính tổng các số từ 1 đến n:

```
def tong_tu_1_den_n(n):
tong = 0
for i in range(1, n+1):
tong += i
return tong
```

Hàm này sử dụng vòng lặp for để tính tổng của các số từ 1 đến n. Ban đầu, ta khởi tạo biến tong bằng 0. Sau đó, ta lặp qua các số từ 1 đến n và cộng chúng vào biến tong. Cuối cùng, ta trả về giá trị của biến tong.

Viết thủ tục thực hiện việc hoán đổi hai giá trị của a và b:

```
def hoan_doi(a, b):
temp = a
a = b
b = temp
return a, b
```

Thủ tục này sử dụng biến tạm temp để lưu giá trị của a trước khi hoán đổi. Sau đó, ta gán giá trị của b cho a và giá trị của temp (tức là giá trị ban đầu của a) cho b. Cuối cùng, ta trả về hai giá trị đã được hoán đổi.

12 tháng 10 2019

program cau_a;
uses crt;
type mang=array[1..100]of integer;
var a:mang;
i,n:integer;
s:longint;
{------------------chuong-trinh-con-nhap--------------}
procedure nhap(var b:mang);
begin
write('nhap n='); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(b[i]);
end;
end;

{---------chuong-trinh-con-tim-min--------------}

function min(var c:mang):integer;

var j,m,nn:integer;

begin

nn:=c[1];

for j:=1 to m do

if nn<c[j] then nn:=c[j];

write('so nho nhat trong mang A la: ',nn);

min:=nn;

end;

{-----------------chuong-trinh-chinh---------------------}

begin

clrscr;

nhap(a);

min(a);

readln;

end.

12 tháng 10 2019

câu b:

program cau_b;
uses crt;
type mang=array[1..100]of integer;
var a:mang;
i,n:integer;
s:longint;
{------------------chuong-trinh-con-nhap--------------}
procedure nhap(var b:mang);
begin
write('nhap n='); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(b[i]);
end;
end;
{---------chuong-trinh-con-tinh-tong-cac-phan-tu-la-so-chan--------}
function tong(var c:mang):integer;
begin
s:=0;
for i:=1 to n do
if c[i] mod 2=0 then s:=s+c[i];
tong:=s;
end;
{-----------------chuong-trinh-chinh---------------------}
begin
clrscr;
nhap(a);
s:=tong(a);
write(s);
readln;
end.

Bạn có một hoán vị: một mảng a = [a1, a2,…, an] gồm các số nguyên phân biệt từ 1 đến n. Độ dài của hoán vị n là số lẻ. Hãy xem xét thuật toán sắp xếp hoán vị theo thứ tự tăng dần sau đây. Thủ tục trợ giúp của thuật toán, f (i) , nhận một đối số duy nhất i (1≤i≤n − 1) và thực hiện như sau. Nếu ai> ai + 1, giá trị của ai và ai + 1 được trao đổi. Nếu không, hoán vị không thay đổi. Thuật toán bao gồm...
Đọc tiếp

Bạn có một hoán vị: một mảng a = [a1, a2,…, an] gồm các số nguyên phân biệt từ 1 đến n. Độ dài của hoán vị n là số lẻ. Hãy xem xét thuật toán sắp xếp hoán vị theo thứ tự tăng dần sau đây. Thủ tục trợ giúp của thuật toán, f (i) , nhận một đối số duy nhất i (1≤i≤n − 1) và thực hiện như sau. Nếu ai> ai + 1, giá trị của ai và ai + 1 được trao đổi. Nếu không, hoán vị không thay đổi. Thuật toán bao gồm các lần lặp, được đánh số bằng các số nguyên liên tiếp bắt đầu bằng 1 . Trên tôi -lặp lại thứ, thuật toán thực hiện như sau:

nếu tôi là số lẻ, gọi f (1), f (3),…, f (n − 2) ;

nếu tôi là chẵn, gọi f (2), f (4),…, f (n − 1) .

Có thể chứng minh rằng sau một số lần lặp lại hữu hạn, hoán vị sẽ được sắp xếp theo thứ tự tăng dần. Sau bao nhiêu lần lặp lại điều này sẽ xảy ra lần đầu tiên?

Input:

Đầu vào Mỗi thử nghiệm chứa nhiều trường hợp thử nghiệm. Dòng đầu tiên chứa số lượng trường hợp thử nghiệm t (1≤t≤10 ^ 4 ). Sau đây là mô tả các trường hợp kiểm thử. Dòng đầu tiên của mỗi trường hợp kiểm tra chứa một số nguyên n (3≤n≤2⋅10 ^ 5−1; n là lẻ) - độ dài của hoán vị. Dòng thứ hai chứa n các số nguyên phân biệt a1, a2,…, an (1≤ai≤n ) - hoán vị chính nó. Đảm bảo rằng tổng của n trên tất cả các trường hợp thử nghiệm không vượt quá 2⋅10 ^ 5−1

Output:

. Đầu ra Đối với mỗi trường hợp thử nghiệm, in số lần lặp lại mà sau đó hoán vị sẽ được sắp xếp theo thứ tự tăng dần lần đầu tiên. Nếu hoán vị đã cho đã được sắp xếp, hãy in ra 0.

Input:

3
3
3 2 1
7
4 5 7 1 3 2 6
5
1 2 3 4 5


ouput:

3

5

0

Ghi chú Trong trường hợp thử nghiệm đầu tiên, hoán vị sẽ thay đổi như sau: sau 1 lần lặp -st: [2,3,1] ; sau 2 -nd lần lặp: [2,1,3] ; sau 3 -lặp lại thứ ba: [1,2,3] . Trong trường hợp thử nghiệm thứ hai, hoán vị sẽ thay đổi như sau: sau 1 lần lặp -st: [4,5,1,7,2,3,6] ; sau 2 -nd lần lặp: [4,1,5,2,7,3,6] ; sau 3 -lặp lại thứ ba: [1,4,2,5,3,7,6] ; sau 4 -lần lặp thứ: [1,2,4,3,5,6,7] ; sau 5 -lặp lại thứ: [1,2,3,4,5,6,7] . Trong trường hợp thử nghiệm thứ ba, hoán vị đã được sắp xếp và câu trả lời là 0 .

1
29 tháng 8 2021

gốc: https://codeforces.com/problemset/problem/1558/F

a)

*Hàm

function giaithua(n:integer):longint;

var i:integer;

begin

giaithua:=1;

for i:=1 to n do

giaithua:=giaithua*i;

end;

b)

*Hàm

function max(a,b:integer):integer;

begin

max:=a;

if max<b then max:=b;

end;

c)

*Thủ tục

procedure hoandoi(a,b:integer);

var tam:integer;

begin

begin

tam:=a;

a:=b;

b:=tam;

end;

end;

12 tháng 6 2020

Procedure sapxep( var x,y: integer);

var tg: integer;

begin

if x<y then

begin

tg:=x;

x:=y;

y:=tg;

end;