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.

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.

#include <bits/stdc++.h>

using namespace std;

long long a[1000],i,n,j;

bool kt;

int main()

{

freopen("nguyento.inp","r",stdin);

freopen("nguyento.out","w",stdout);

cin>>n;

for (i=1; i<=n; i++) cin>>a[i];

for (i=1; i<=n; i++)

if (a[i]>1) 

{

kt=true;

for (j=2; j*j<=a[i]; j++)

if (a[i]%j==0) kt=false;

if (kt==true) cout<<a[i]<<" ";

}

return 0;

}

const fi='xsum1.inp';     

fo='xsum1.out';

var f1,f2:text;   

a:array[1..20000]of integer;   

i,n,j,x,dem,k,m,t:integer;

begin

assign(f1,fi); reset(f1);

assign(f2,fo); rewrite(f2);

readln(f1,n,x);

for i:=1 to n do 

read(f1,a[i]);

dem:=0;

for i:=1 to n do 

for j:=1 to n do   

begin       

for k:=1 to n do         

if (i<j) and (j<k) then               

begin                 

t:=0;                 

for m:=i to k do                   

t:=t+a[m];                 

if t=x then inc(dem);               

end;   

end;

for i:=1 to n do 

if x=a[i] then inc(dem);

writeln(f2,dem);

close(f1);

close(f2);

end.

30 tháng 6 2021

program COST;

var n,m,s,dem:int64;a:

array[1..1000000] of int64;

i,j:longint;

begin 

readln(n,m);

for i := 1 to n do read(a[i]);

dem := 0;

for i := 1 to n do

begin

s := 0;

for j := i to n do 

begin 

s := s+a[j];

if s <= m then 

begin 

inc(dem);

continue;

end

else if a[j] > m then break;

end;

end;

write(dem);

end.    

mình ghi dư cái số 4 bên phần BAI7.INP nha mn

 

bằng python nha mọi người

 

uses crt;

const fi='dulieu.inp';

var f1:text;

a:array[1..100]of integer;

n,i,t1,t2:integer;

begin

clrscr;

assign(f1,fi); reset(f1);

readln(f1,n);

for i:=1 to n do 

  read(f1,a[i]);

t1:=0;

t2:=0;

for i:=1 to n do 

 begin

if a[i]>0 then t1:=t1+a[i];

if a[i]<0 then t2:=t2+a[i];

end;

writeln('Tong cac so duong la: ',t1);

writeln('Tong cac so am la: ',t2);

close(f1);

readln;

end.

uses crt;
var a:array[1..255]of byte;
n,i,kt:integer;
st,st1:string;
begin
clrscr;
write('nhap chieu dai day so:'); readln(n);
for i:=1 to n do
begin
write('a[',i,']='); readln(a[i]);
end;
{-------------------------------xu-ly---------------------------------}
st:='';
kt:=0;
for i:=1 to n do
if a[i] mod 2=1 then
begin
str(a[i],st1);
kt:=1;
st:=st+st1;
end;
if kt>0 then
begin
write('doi xung cua cac so le la: ');
for i:=1 to length(st) do
write(st[i]:4);
for i:=length(st) downto 1 do
write(st[i]:4);
end;
readln;
end.

uses crt;
var st,st1,st2:string;
a:array[1..255]of integer;
n,d,i,dem,x,kt:integer;
begin
clrscr;
write('nhap so n:'); readln(n);
str(n,st);
d:=length(st);
for i:=1 to d do
val(st[i],a[i],x);
st2:='';
dem:=0;
kt:=0;
for i:=1 to d do
if a[i] mod 2<>0 then
begin
kt:=1;
dem:=dem+1;
str(a[i],st1);
st2:=st2+st1;
end;
if kt>0 then
begin
write('doi xung cua phan con lai sau khi xoa bot cac so chan la: ');
for i:=1 to dem do
write(st2[i]);
for i:=dem downto 1 do
write(st2[i]);
end;
readln;
end.

Cho số nguyên dương N, ta có dãy số A gồm các số nguyên từ 1 đến N. Phép nén dãy số là tạo ra dãy số mới mà các phần tử được tạo ra bằng cách lần lượt cộng hai số cạnh nhau của dãy số ban đầu.     Mỗi lần nén dãy số, dãy số mới sẽ ít hơn dãy số trước một phần tử. Ta nén dãy số đến khi còn một phần tử, phần tử đó là giá trị nén dãy số. Yêu cầu: in ra giá trị nén...
Đọc tiếp

Cho số nguyên dương N, ta có dãy số A gồm các số nguyên từ 1 đến N. Phép nén dãy số là tạo ra dãy số mới mà các phần tử được tạo ra bằng cách lần lượt cộng hai số cạnh nhau của dãy số ban đầu.
     Mỗi lần nén dãy số, dãy số mới sẽ ít hơn dãy số trước một phần tử. Ta nén dãy số đến khi còn một phần tử, phần tử đó là giá trị nén dãy số. Yêu cầu: in ra giá trị nén của dãy số. Vì kết quả có thể rất lớn, nên chỉ cần in ra số dư của phép chia giá trị nén dãy số cho 1000000000 (10^9).
Ví dụ với N=4 ta có kết quả cuối cùng cần in ra là số 20
 Dãy ban đầu: 1 - 2 - 3 - 4
 Nén lần 1:      3 - 5 - 7
 Nén lần 2:      8 - 12
 Nén lần 3:      20
Yêu cầu: nhập N (N có thể có 16 chữ số) in ra số dư của phép chia giá trị nén dãy số cho 1000000000 (10^9)
Ví dụ: Nhập N=4 xuất ra màn hình 20.

1
29 tháng 6 2023

```python

def nen_day_so(N):
if N == 1:
return 1
else:
return (nen_day_so(N-1) + N) % 1000000000

N = int(input("Nhập N: "))
ket_qua = nen_day_so(N)
print(ket_qua)
```

19 tháng 3 2023

Program HOC24;

var i,n: integer;

a: array[1..1000] of integer;

t: longint;

f1,f2: text;

const fi='DATA1.TXT';

fo='KQ1.TXT';

begin

assign(f1,fi);

assign(f2,fo);

reset(f1);

rewrite(f2);

readln(f1,n);

for i:=1 to n do read(f1,a[i]);

t:=0;

for i:=1 to n do if a[i] mod 2=0 then t:=t+a[i];

writeln(f2,t);

for i:=1 to n do if a[i] mod 5=0 then write(f2,a[i],' ');

close(f1); close(f2);

end.

12 tháng 5 2021

program du_lieu;

uses crt;

var i,n:integer;

a:array[1..100]of integer;

tbc:real;

f:text;

begin

clrscr;

assign(f,'DULIEU.INP');reset(f);

readln(f,n);

for i:=1 to n do

begin

read(f,a[i]);

end;

close(f);

for i:=1 to n do

tbc:=tbc+a[i];

writeln(tbc/n);

readln;

end.