Viết chương trình Pascal phân tích một số ra thừa số nguyên tố

2 câu trả lời

Phân tích 12=2*2*3. Ý tưởng: Thuật toán phân tích một số ra thừa số nguyên tố tương tự như thuật toán kiểm tra số nguyên tố. Điểm khác ở đây là khi kiểm tra số nguyên tố ta phải lần lượt kiểm tra các số nhỏ hơn sqrt(n) (căn bậc hai của n) có phải là ước của n hay không, còn khi phân tích ta chỉ việc chia n cho các số nguyên bắt đầu từ số nguyên tố nhỏ nhất là 2. Khi không chia được nữa thì ta tăng số chia lên 1 đơn vị, quá trình phân tích kết thúc khi n bằng 1.

VAR i,n :INTEGER;

BEGIN
    Write ('Nhap n:');
    Readln(n);
    Write (n,'=');
    i:=2;
    REPEAT
        WHILE n MOD i <> 0 DO
            i:=i+1;
        Write(i);
        n:=n DIV i;
        IF n > 1 THEN
            write ('*');
    UNTIL n = 1;
    readln;
END.

program bai_giai;
uses crt;
var n,i:longint;
begin
 clrscr;
  write('nhap n:');readln(n);
  i:=2;
  while n<>1 do
        begin
         if(n mod i=0)then n:=n div i else inc(i);
         write(i);
         if(n<>1)then write('*');
        end;
 readln;
end.

mk ko bieeys làm kiểu này có đúng ko nhũng text nhập số 2 thì ra 2 nhập số 4 thì ra 2*2;

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