Ví dụ: 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.
Nhãn: Bài tập Pascal, Pascal mở rộng
Ghe tham wap haiyka.xtgem.com co nhieu code hay va bo ich hon nua
lúc 07:54 23 tháng 4, 2012
Viết chương trình nhập số nguyên n từ bàn phím (n < 10000), in ra màn hình bảng phân tích số n ra thừa số nguyên tố dưới dạng bảng phân tích và tích các thừa số nguyên tố.
Ví dụ: Với n = 100 thì in ra
100 | 2
50 | 2
25 | 5
5 | 5
1 |
và 100 = 2.2.5.5
lúc 16:23 6 tháng 10, 2012
hay khung khiep
lúc 15:22 23 tháng 11, 2012
dk nhỉ mà cũng không = mình hjhjhj phone để tích lũy kinh nghiem pascal 01868582012
lúc 14:42 13 tháng 12, 2012
Đúng thứ mình cần. Thank bạn
www.giupnhanh.com
lúc 11:31 19 tháng 5, 2013
Các bạn ơi giúp mình với ! bài phân tích ra thừa số nguyên tố , VD nhập 1234567891 mà chương trình nó ra kết quả chậm thì cách khắc phụ là gì?
lúc 19:51 26 tháng 6, 2013
Cảm ơn bạn nhiều nhé !!!
lúc 11:04 13 tháng 10, 2013
Các bạn ơi giúp mình với ! bài phân tích ra thừa số nguyên tố , VD nhập 1234567891 mà chương trình nó ra kết quả chậm thì cách khắc phụ là gì?
Them doan kiem tra
uses crt;
VAR i,n,b :Longint;
BEGIN
clrscr;
Write ('Nhap n:');
Readln(n);
b:=n;
Writeln (n,' phan tich ra thua so nguyen to');
i:=2;
REPEAT
WHILE (n MOD i <> 0) and (i 1 THEN
write ('*');}
UNTIL (n = 1) or (i>sqrt(b));
if i>sqrt(b) then
begin
Writeln(n:5,'|',n);
Writeln(1,'|',1)
end else
Writeln(n:5,'|',1); {1234567891}
readln;
END.
lúc 16:41 13 tháng 11, 2013
uses crt;
VAR i,n,b :Longint;
BEGIN
clrscr;
Write ('Nhap n:');
Readln(n);
b:=n;
Writeln (n,' phan tich ra thua so nguyen to');
i:=2;
REPEAT
WHILE (n MOD i <> 0) and (isqrt(b));
if i>sqrt(b) then
begin
Writeln(n:5,'|',n);
Writeln(1,'|',1)
end else
Writeln(n:5,'|',1); {1234567891}
readln;
END.
lúc 16:43 13 tháng 11, 2013
Post len bi loi ma nhung them doan kiem tra i< can cua b=n vao la xu li duoc voi cac so nguyen to (thoi gian chay nhanh hon) vi voi so nguyen to 1234567891 thay vi tang i den 123456789 thi i chi chay den can cua 123456789
lúc 16:45 13 tháng 11, 2013
dai hon cach cua mk
lúc 16:31 2 tháng 12, 2013
cach giai cua cac pan rat hay nhung dai hon cua mik
lúc 08:29 8 tháng 1, 2014
cùi rách cách của tui dài gấp 3
lúc 09:45 28 tháng 5, 2014
cao thủ nào hướng dẫn cách làm bài này vs chương trình con xem nào
lúc 09:21 26 tháng 9, 2014
Day anh day vao web: lauxanh.org xong ngay
lúc 09:24 26 tháng 9, 2014
hay đâý
lúc 19:35 7 tháng 10, 2014
Bạn ơi, bạn có thể giải thích chi tiét c trình trên cho mình đc ko. Thanks bạn nhìu
lúc 17:29 24 tháng 3, 2015
Với n < 10^9 thì cách này không có hiệu quả
lúc 20:48 31 tháng 3, 2015
ujjghj
lúc 20:17 14 tháng 1, 2017
ffffffff
lúc 20:17 14 tháng 1, 2017
hay wa đi ak!!!
lúc 08:30 8 tháng 2, 2017
troi ui cam on AD nhieu
lúc 20:34 14 tháng 3, 2017
Các em nên dùng đệ quy bài này. Ý tưởng là ta sẽ gọi 1 hàm như Phantich(N). Trong hàm đó ta tìm số nhỏ nhất mà N chia hết(tạm gọi là x) xong ghi hoặc lưu số x đó ra. Rồi gọi tiếp đệ quy Phantich(N div x). Còn nếu số nhập vào vượt kiểu dữ liệu cho phép thì các em phải có kỹ thuật nhân chia số cực lớn mới làm được. Lâu lắm rồi anh không code nên chỉ cho các em ý tưởng thôi. chúc các em học tốt.
lúc 03:23 19 tháng 3, 2017
cho mk hỏi làm sao để in ra các thừa số nguyên tố nhỏ hơn n? mk thử nhiều cách r mak nó ko ra
lúc 00:08 31 tháng 3, 2017
ai thông não e vs pần write('*') la j v ạ
lúc 20:34 27 tháng 4, 2017
cái code đó có 1 lỗi nhỏ. Ae sửa lại là if n >= i then write('*');
lúc 16:21 20 tháng 5, 2017
Code sao chạy không được vậy, sai ở phần'' if...then''
lúc 20:38 2 tháng 12, 2017
cau lenhh long khong co "begin"va "end;"
lúc 23:42 17 tháng 1, 2018
Có đấy anh cho 2 in ra màn hình vì nó là số ng tố sẵn rồi bắt đầu cho i chạy từ 3 ts n-1 xét i có phải là thừa số ng tố ko rồi in ra. Xét chắc anh bik rồi ha
lúc 07:17 16 tháng 3, 2018
con gà
lúc 14:21 16 tháng 3, 2018
ocschos
lúc 17:40 11 tháng 4, 2018
ai giúp minh làm duwosi dạng ct con với dữ liệu số lớn
lúc 09:33 6 tháng 8, 2018
cho mik hỏi i của bạn ai có thể chứng minh nó là số nguyên tố
lúc 19:39 12 tháng 10, 2019
Đơn giản là viết ra dấu nhân thôi bạn
lúc 15:15 30 tháng 10, 2019
hay cc
lúc 09:08 21 tháng 7, 2020
tuoi loz
lúc 09:09 21 tháng 7, 2020
Như lồn vạy cũng up
lúc 08:42 13 tháng 12, 2020
rồi viết luôn hàm đi rồi tính cho nó dễ
lúc 08:57 14 tháng 3, 2022
Đăng nhận xét