Bài 4: (CB)
Hai số a và b được gọi là
cặp số bạn bè nếu thỏa mãn 2 điều kiện
-Tổng các ước thực sự của
a bằng b
-Tổng ước thực sự của b bằng
a
Ví dụ: tổng ước thực sự của
220=284, tổng ước thực sự của 284=220
Nên 220 và 284 là cặp số bạn
bè
Viết chương trình kiểm tra
2 số a và b có là cặp số bạn bè không?
Input (banbe.inp): gồm hai số nguyên a và b
Output (banbe.out): ghi yes nếu là cặp bạn bè, ngược lại ghi no
Input
|
Output
|
220 284
|
yes
|
Bài 5:
Hai số a và b được gọi là
cặp số bạn bè nếu thỏa mãn 2 điều kiện
-Tổng các ước thực sự của
a bằng b
-Tổng ước thực sự của b bằng
a
Ví dụ: tổng ước thực sự của
220=284, tổng ước thực sự của 284=220
Nên 220 và 284 là cặp số bạn
bè
Viết chương trình in ra các cặp số bạn bè mà số lớn nhất của mỗi cặp <n?
Input (banbe.inp): gồm số nguyên n
Output (banbe.out): ghi ra các cặp số bạn bè, mỗi cặp ghi trên 1 dòng
Input
|
Output
|
3000
|
220 284
1184 1210
2620 2924 |
Bài 6: Cho dãy n số nguyên. Hỏi có thể cắt dãy
trên thành 2 phần có tổng bằng nhau được không?
Input (catmang.inp): gồm
-Dòng 1: số nguyên n
-dòng 2: ghi n số nguyên trong dãy
Output (catmang.out): gồm 2 dòng
Dòng 1: ghi yes nếu là
cắt được, ngược lại ghi no
Dòng 2: ghi tổng của mỗi phần. Nếu không cắt được ghi 0
Input
|
output
|
5
2 8 1 7 2
|
yes
10
|
5
2 1 2 7 8
|
no
0
|
bài 4,5 cần thêm điều kiện a<>b nếu ko có thì các cặp số như 6-6;12-12;24-24;... đều là cặp số bạn bè
Trả lờiXóaKhi làm bài các em cần xem xét kĩ input, output để biết mình phải làm gì để có đáp án đúng nhé! Chúc các em làm bài tốt
Trả lờiXóaconst
Trả lờiXóanhap='2phan.inp';
xuat='2phan.out';
var
a:array[1..100]of integer;
n,c,d,i,b:integer;
begin
assign(input,nhap);reset(input);
assign(output,xuat);rewrite(output);
readln(n);
for i:=1 to n do begin
read(a[i]);d:=d+a[i];
end;
if d mod 2 <>0 then write('no')
else if (d mod 2 =0) then begin
d:=d div 2;c:=0;
for i:=1 to (n-1) do
c:=c+a[i];
if c=d then b:=b+1;
if b>0 then write('yes')
else write('no');
end;
close(input);close(output);end.
Tốt. Rất tốt
Trả lờiXóa