Viết chương trình nhập vào từ bàn phím 3 số nguyên dương M , N , K ( M,N,K <10000 ) thực hiện các công việc sau: a) Nếu M >N thì hoán đổi chúng cho nhau b) Đưa ra màn hình số lượng các số chia hết cho K từ M đến N c) Cho biết K có phải số hoàn hảo hay không ,biết số hoàn hảo là số có tổng các ước ( ngoại trừ nó) bằng chính nó . Ví dụ: số 6 có các ước là 1 , 2 ,3
1 câu trả lời
program Min;
uses crt;
var M,N,K,i,dem,tam:integer;
begin
repeat
begin
writeln('Nhap M, N, K (M,N,K<10000): ');
readln(M,N,K);
end;
until (M<10000) and (N<10000) and (K<10000);
dem:=0;
{cau a}
if M>N then
begin
M:=M+N;
N:=M-N;
M:=M-N;
end;
{cau b}
for i:=M to N do if i mod K = 0 then dem:=dem+1;
writeln('So luong cac so chia het cho ',K,' tu ',M,' den ',N,' la :', dem);
{cau c}
tam:=0;
for i:=1 to (K div 2) do
if K mod i = 0 then tam:=tam+i;
if tam=K then writeln(K,' la so hoan hao') else writeln(K,' khong la so hoan hao');
readln
end.
Bạn kiểm tra lại nha, mình chạy thư thì thấy đúng rồi á :D