Cho số nguyên dương N (N ≤ 104). Gọi M là tổng của N với...">
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.

29 tháng 6 2023

program tim_nguon_nho_nhat;

const
  MAX_NUMBER = 10000;

var
  M, nguon_nho_nhat: Integer;

function TinhTongChuSo(num: Integer): Integer;
var
  sumOfDigits: Integer;
begin
  sumOfDigits := 0;
  while num > 0 do
  begin
    sumOfDigits := sumOfDigits + (num mod 10);
    num := num div 10;
  end;
  TinhTongChuSo := sumOfDigits;
end;

function TimNguonNhoNhat(M: Integer): Integer;
var
  N, M_temp, M_digits, nguon_nho_nhat: Integer;
begin
  M_temp := M;
  nguon_nho_nhat := MAX_NUMBER;
  for N := 1 to M_temp do
  begin
    M_digits := TinhTongChuSo(N) + N;
    if M_digits = M_temp then
    begin
      if N < nguon_nho_nhat then
        nguon_nho_nhat := N;
    end;
  end;
  if nguon_nho_nhat = MAX_NUMBER then
    TimNguonNhoNhat := 0
  else
    TimNguonNhoNhat := nguon_nho_nhat;
end;

begin
  Readln(M);
  nguon_nho_nhat := TimNguonNhoNhat(M);
  if nguon_nho_nhat = 0 then
    Writeln('0')
  else
    Writeln('Nguon nho nhat cua ', M, ' la ', nguon_nho_nhat);
end.

 

12 tháng 4 2020

Lĩnh vực của em thuộc bên môn Hoá, với lại e chưa học tới lớp 11 đâu :) Anh/Chị nhờ cô Nguyễn Minh Lệ nha

cảm ơn bạn

6 tháng 4 2017

uses crt;
const finp='Bai1.inp';
fout='Bai1.out';
type mangc=array[1..10000] of char;
mangl=array[1..10000] of longint;
var f:text;
ch:mangc; a:mangl;
n:longint;
procedure doc;
var i:longint;
begin
assign(f,finp);
reset(f);
readln(f,n);
for i:=1 to n do read(f,ch[i]);
close(f);
end;
procedure ghi;
begin
assign(f,fout);
rewrite(f);
end;
procedure tim;
var i,j,d,k,l:longint;
begin
for i:=n-2 downto 1 do
begin
a[i]:=1;
d:=0;
for j:=i+1 to n do
begin
l:=a[j];
if ch[i]=ch[j] then a[j]:=d+2
else if a[j-1]>a[j] then a[j]:=a[j-1];
d:=l;
end;
end;
end;
procedure xuly;
var i:longint;
begin
fillchar(a,sizeof(a),0);
if n=1 then a[n]:=1
else begin
a[n-1]:=1;
a[n]:=ord(ch[n]=ch[n-1])+1;
end;
if n>2 then tim;
write(f,n-a[n]);
end;
begin
doc;
ghi;
xuly;
close(f);
end.

ai có thể giải thích cho mình bài này đc không

nhất là cái "procedure tim" và mục đích của mảng số nguyên a

mk cảm ơn nhiều

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

0
Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

1
1 tháng 5 2020

var n,m,i,j,p,q,k,tam:byte;
a:array[1..100,1..100] of integer;
b:array[1..10000] of integer;
f:text;
function tong(x,y:integer):integer;
var i,j:integer;
begin
tong:=0;
for i:=x to x+p-1 do
for j:=y to y+q-1 do
tong:=tong+a[i,j];
exit(tong);
end;
begin
assign(f,'HCN.inp');reset(f);
readln(f,n,m,p,q);
for i:=1 to n do
begin
for j:=1 to m do read(f,a[i,j]);
readln(f);
end;
close(f);
assign(f,'HCN.out');rewrite(f);
k:=0;
for i:=1 to n-q+1 do
begin
for j:=1 to m-p+1 do
begin
inc(k);
b[k]:=tong(i,j);
end;
end;
for i:=1 to k-1 do
for j:=k downto i+1 do
if b[j]>b[j-1] then
begin
tam:=b[j];
b[j]:=b[j-1];
b[j-1]:=tam;
end;
writeln(f,b[1]+b[2]);
close(f);
readln;
end.

vui

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương. Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn...
Đọc tiếp

Cho một bảng các ô vuông đơn vị có kích thước nxm (n, m ≤ 100; n số hàng, m số cột của bảng). Trên mỗi ô vuông đơn vị chứa các số nguyên dương.

Yêu cầu: Hãy tìm ở bảng trên hai hình chữ nhật (có thể giao nhau nhưng không trùng khít lên nhau) có kích thước pxq (p<n; q<m; p là số hàng, q là số cột của hai hình chữ nhật con) sao cho tổng của tất cả các số trên hai hình chữ nhật là lớn nhất.

Dữ liệu vào: File tên HCN.OUT

- Dòng 1 ghi bốn số n, m, p, q được ghi cách nhau bởi dấu cách.

- n dòng tiếp theo, mỗi dòng ghi m số nguyên dương và cách nhau bởi dấu cách.

Dữ liệu ra: File HCN.OUT, chứa 1 dòng ghi một số nguyên duy nhất S là diện tích lớn nhất cần tìm.

HCN.INP

HCN.OUT

4 7 3 3

1 2 3 1 1 3 4

5 3 1 4 0 1 2

4 6 3 4 7 1 1

9 3 8 10 0 1 0

84

Ví dụ:

1

2

3

1

1

3

4

5

3

1

4

0

1

2

4

6

3

4

7

1

1

9

3

8

10

0

1

0

1
12 tháng 2 2020

bài này làm bằng Pascal hả anh?

13 tháng 2 2020

uk

Bài 3: Đỉnh đồi – TOP.* (7 điểm) Đồn điền trà của gia đình Tý nằm trên địa hình có nhiều ngọn đồi, để bảo vệ đồn điền gia đình giao cho Tý tính toán số người cần thiết để canh gác trên các ngọn đồi này. Vấn đề là sẽ cần bao nhiêu người canh gác nếu như anh ta muốn đặt 1 người canh gác trên đỉnh của mỗi đồi. Tý có bản đồ của đồn điền là một ma trận gồm N...
Đọc tiếp

Bài 3: Đỉnh đồi – TOP.* (7 điểm)

Đồn điền trà của gia đình Tý nằm trên địa hình có nhiều ngọn đồi, để bảo vệ đồn điền gia đình giao cho Tý tính toán số người cần thiết để canh gác trên các ngọn đồi này.

Vấn đề là sẽ cần bao nhiêu người canh gác nếu như anh ta muốn đặt 1 người canh gác trên đỉnh của mỗi đồi. Tý có bản đồ của đồn điền là một ma trận gồm N hàng và M cột. Mỗi phần tử của ma trận có độ cao Hij so với mặt nước biển là 0 của ô (i,j). Hãy giúp Tý xác định số lượng đỉnh đồi trên bản đồ.

Đỉnh đồi là 1 hoặc nhiều ô nằm kề nhau của ma trận có cùng độ cao được bao quanh bởi cạnh của bản đồ hoặc bởi các ô có độ cao nhỏ hơn. Hai ô gọi là kề nhau nếu độ chênh lệch giữa tọa độ X không quá 1 và chênh lệch tọa độ Y không quá 1.

Dữ liệu vào: đọc từ tập tin văn bản TOP.INP có cấu trúc:

  • Dòng đầu chứa 2 số nguyên N, M cách nhau ít nhất một khoảng trắng (1 < N ≤ 100), (1 < M ≤ 70);
  • N dòng tiếp theo mỗi dòng là M số nguyên mô tả độ cao Hij theo thứ tự của ma trận (0

≤ Hij ≤ 10000).

Kết quả: Xuất ra tập tin văn bản TOP.OUT một số N duy nhất là số đỉnh đồi tìm được.

Ví dụ:

TOP.INP TOP.OUT
8 7 3
4 3 2 2 1 0 1
3 3 3 2 1 0 1
2 2 2 2 1 0 0
2 1 1 1 1 0 0
1 1 0 0 0 1 0
0 0 0 1 1 1 0
0 1 2 2 1 1 0
0 1 1 1 2 1 0
0
Bài 1: Phân số tối giản. Cho 2 số nguyên dương A, B (1 ≤ A, B ≤ 109). Hãy tìm phân số tối giản của phân số . Dữ liệu vào: (PSTG.INP) + Dòng 1: Ghi hai số tự nhiên A và B, mỗi số cách nhau ít nhất một ký tự trắng. Dữ liệu ra: (PSTG.OUT) + Dòng 1: Ghi hai số tự nhiên tương ứng là tử số và mẫu số của phân số tối giản. Ví dụ: PSTG.INP PSTG.OUT 25 30 5 6 16 ...
Đọc tiếp

Bài 1: Phân số tối giản.

Cho 2 số nguyên dương A, B (1 ≤ A, B ≤ 109). Hãy tìm phân số tối giản của phân số .

Dữ liệu vào: (PSTG.INP)

+ Dòng 1: Ghi hai số tự nhiên A và B, mỗi số cách nhau ít nhất một ký tự trắng.

Dữ liệu ra: (PSTG.OUT)

+ Dòng 1: Ghi hai số tự nhiên tương ứng là tử số và mẫu số của phân số tối giản.

Ví dụ:

PSTG.INP PSTG.OUT

25 30 5 6

16 21 16 21

Bài 2: Dãy số đối xứng.

Cho dãy gồm n số nguyên dương ( ). Dãy gồm k phần tử liên tiếp được gọi là dãy con của dãy ban đầu. Ví dụ: Dãy 2, 1, 4 là dãy con của dãy 1, 3, 2, 1, 4, 9.

Số đối xứng là số viết theo thứ tự ngược lại vẫn bằng chính nó. Số có một chữ số được coi là số đối xứng. Ví dụ: Các số 1221, 99, 282, 8 là số đối xứng; các số 12, 98, 199 không là số đối xứng.

Yêu cầu: Cho trước dãy số, hãy tìm dãy con dài nhất có các phần tử là số đối xứng.

Dữ liệu vào: (DSDX.INP)

+ Dòng 1: Ghi một số tự nhiên n là độ dài dãy số.

+ Dòng 2: Ghi n số nguyên dương, mỗi số cách nhau một ký tự trắng .

Dữ liệu ra: (DSDX.OUT)

+ Dòng 1: Ghi một số tự nhiên là độ dài dãy số dài nhất thoả mãn điều kiện. Nếu không có thì ghi -1.

+ Dòng 2: Ghi dãy số tìm được. Nếu có nhiều dãy số thoả mãn thì lấy dãy số đầu tiên tính từ bên trái.

Ví dụ:

DSDX.INP DSDX.OUT

10 44 343 567765

23 44 343 567765 43 233 98 21 989 888 3

5 87 901 223 3212 83 -1

Bài 3: Giá trị biểu thức

Cho một xâu chỉ chứa các kí tự: chữ số, dấu cộng, dấu trừ, thể hiện một biểu thức số học.

Yêu cầu: Tính giá trị của biểu thức đã cho. Biết xâu biểu thức không quá 255 kí tự, các số hạng và giá trị của biểu thức có độ lớn không quá 2.106.

Dữ liệu vào: (GTBT.INP)

+Dòng 1: Ghi duy nhất một xâu kí tự thể hiện biểu thức cần tính.

Dữ liệu ra: (GTBT.OUT)

+Dòng 1: Ghi duy nhất một số nguyên là giá trị của biểu thức.

Ví dụ:

GTBT.INP GTBT.OUT

12+23-45+6 -4

1234-998+123-345 14

Bài 4: Xếp diêm.

Bờm là một người rất thích chơi trò chơi xếp diêm. Từ các que diêm, Bờm có thể tạo ra các số theo cách xếp:

Một hôm khi Bờm đang ngồi xếp các chữ số thì Cuội đi qua. Cuội đố: “Tớ cho trước cậu n que diêm, cậu hãy xếp thành một số tự nhiên nhỏ nhất, một số tự nhiên lớn nhất từ n que diêm đó được không?”. Bờm suy nghĩ một lát rồi cũng nghĩ ra cách xếp. Vậy theo em, Bờm đã xếp như thế nào? Hãy lập trình để giải bài toán này nhé.

Yêu cầu: Cho trước n que diêm, hãy xếp n que diêm đó thành một số tự nhiên nhỏ nhất, một số tự nhiên lớn nhất có thể. (Lưu ý: Mọi số 0 đứng trước các số tự nhiên đều không có nghĩa)

Dữ liệu vào: (DIEM.INP)

+ Dòng 1: Ghi duy nhất một số tự nhiên n.

Dữ liệu ra: (DIEM.OUT)

+ Dòng 1: Ghi số tự nhiên nhỏ nhất xếp được.

+ Dòng 2: Ghi số tự nhiên lớn nhất xếp được.

Ví dụ:

DIEM.INP DIEM.OUT

18 208

11111111

25 2088

711111111111

2
2 tháng 10 2019

Bài 1:

program pstg;
uses crt;
var a,b,i,u : integer;
f : text;
BEGIN
clrscr;
assign(f,'PSTG.INP');
reset(f);
read(f, a);
read(f, b);
u:=1;
for i:= 1 to a do if ((a mod i)=0) and ((b mod i)=0) and (i>u) then u:=i;
a:= a div u;
b:= b div u;
assign(f,'PSTG.OUT');
rewrite(f);
write(f, a,' ',b);
close(f);
END.

13 tháng 10 2019

bài 4 dễ ẹt à

uses crt;
const fi='quediem.inp';
fo='quediem.out';
var i,m,n,d,x,j,csc:longint;
a,b:array[1..1000]of integer;
f1,f2:text;
begin
clrscr;
assign(f1,fi); reset(f1);
assign(f2,fo); rewrite(f2);
readln(f1,n);
{-------------------------tim-so-lon-nhat--------------------------}
write(f2,'so lon nhat la: ');
m:=n;
if m mod 2=0 then
begin
for i:=1 to n div 2 do
write(f2,'1');
end
else begin
write(f2,'7');
for i:=2 to n div 2 do
write(f2,'1');
end;
{----------------------------tim-so-nho-nhat------------------------}
writeln(f2);
a[1]:=2; b[1]:=1;
a[2]:=5; b[2]:=2;
a[3]:=4; b[3]:=4;
a[4]:=6; b[4]:=6;
a[5]:=3; b[5]:=7;
a[6]:=7; b[6]:=8;
d:=(n div 7)+1;
if n mod 7=0 then d:=d-1;
if d=1 then begin
case n of
2:write(f2,'so nho nhat la: ',1);
3:write(f2,'so nho nhat la: ',7);
4:write(f2,'so nho nhat la: ',4);
5:write(f2,'so nho nhat la: ',2);
6:write(f2,'so nho nhat la: ',0);
7:write(f2,'so nho nhat la: ',8);
end;
end;
if d>1 then
begin
write(f2,'so nho nhat la: ');
for i:=1 to d do
if i=1 then begin
b[4]:=6;
for j:=1 to 6 do
begin
x:=n;
x:=x-a[j];
csc:=x div 7+1;
if x mod 7=0 then csc:=csc-1;
if csc=d-i then begin
write(f2,b[j]);
n:=x;
break;
end;
end;
end
else begin
a[1]:=6; b[1]:=0;
a[2]:=2; b[2]:=1;
a[3]:=5; b[3]:=2;
a[4]:=4; b[4]:=4;
a[5]:=3; b[5]:=7;
a[6]:=7; b[6]:=8;
for j:=1 to 6 do
begin
x:=n;
x:=x-a[j];
csc:=(x div 7)+1;
if x mod 7=0 then csc:=csc-1;
if csc=d-i then begin
write(f2,b[j]);
n:=x;
break;
end;
end;
end;
end;
close(f1);
close(f2);
readln;
end.