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  
   

Câu hỏi trong lớp Xem thêm