Hai số m,n gọi là bạn của nhau nếu tổng các ước của m bằng n và ngược lại.Tìm tất cả các số là bạn của nahu và nhỏ hơn 10001.
Ý tưởng: Thay vì chạy 2 vòng lặp để xét m và n, ta có thể chỉ cần chạy 1 vòng lặp kiểm tra xem m và uoc(m) có là bạn của nhau không.
PROGRAM timban;
FUNCTION uoc(k:INTEGER):longint;
VAR i,tong:INTEGER;
BEGIN
tong:=0;
FOR i:=1 TO k DIV 2 DO
IF k MOD i =0 THEN tong:=tong+i;
uoc:=tong;
END;
VAR m:longint;
BEGIN
for m:= 1 to 10001 do
if uoc(uoc(m)) = m then writeln(m, ' va ', uoc(m),' la ban cua nhau');
readln
END.
Home
»
Bài tập Pascal
»
Pascal mở rộng
» Tìm các số tổng các các ước của số này bằng số kia và ngược lại
Thứ Bảy, 26 tháng 5, 2012
Đăng ký:
Đăng Nhận xét (Atom)
Popular Posts
-
Trong số các chương trình viết nhạc, Encore là chương trình có tính năng trình diễn rất tiện lợi, với 11 thanh công cụ trong Palette để soạn...
-
Easy DriverPack liên tục ra phiên bản mới đến nay chúng ta đã có một sự cải tiến vượt bậc về giao diện và cải tiến về phương pháp nhận biết ...
-
Như tiêu đề, qua tham khảo thông tin trên forum, thấy nhiều bạn than vãn về vấn đề chia ổ bằng acronis diskdirector mà chưa có lời giải đáp ...
-
Trong cuộc sống, có những hoạt động chỉ được thực hiện khi một điều kiện cụ thể được xảy ra. Điều kiện thường là một sự kiện được mô tả sau ...
-
Nhập 1 chuỗi, sau đó bỏ khoảng trắng ở đầu và cuối, khoảng trắng ở giữa 2 từ. var s:string; begin readln(s); while s[1]=#32 do delete(s,1,1)...
-
Tam giác Pascal là gì? Quy luật của Tam giác Pascal rất đơn giản : bắt đầu từ hàng thứ ba, mỗi số bên trong là tổng của hai số ngay phía trê...
-
Bạn đang phân vân vì không thể chạy Turbo Pascal trên win 7? Bài viết sau sẽ tư vấn giúp bạn. Turbo Pascal 7.0 with DOSBox là những phần mềm...
-
Viết chương trình Pascal in mã ASCII của các ký tự. Khá đơn giản chỉ với 1 lệnh for. Program Mang_Ky_Tu; Var a:Array[Char] Of Integ...
-
Viết CT nhập từ bàn phím mảng 1 chiều và xóa 1 phần tử của mảng có n phần tử. var n,i,q,k,p:integer; a,b:array [1..1000] of integer; beg...

0 nhận xét:
Đăng nhận xét