Lập trình đơn giản

Hakita Nguyen

Cho số tự nhiên n (2 ≤ n ≤ 10000), viết chương trình phân tích số n thành các thừa số nguyên tố.

Ví dụ: n = 12

12 | 2

6 | 2

3 | 3

1 |

Nguyễn Lê Phước Thịnh
9 tháng 2 2020 lúc 18:02

uses crt;
var n,i,j,a,b,kt1,kt2,kt,k:longint;
begin
clrscr;
write('nhap n='); readln(n);
if n mod 2=1 then begin
a:=2;
b:=n-a;
kt:=0;
for k:=2 to trunc(sqrt(b)) do
if b mod k=0 then kt:=1;
if kt=0 then writeln(n,'=',a,'+',b)
else write(n,' khong the phan tich thanh tong nguyen to');
end;
if n mod 2=0 then begin
for i:=2 to n div 2 do
begin
a:=i;
b:=n-i;
kt1:=0;
kt2:=0;
for j:=2 to trunc(sqrt(a)) do
if a mod j=0 then kt1:=1;
for j:=2 to trunc(sqrt(b)) do
if b mod j=0 then kt2:=1;
if (kt1=0) and (kt2=0) then writeln(n,'=',a,'+',b);
end;
end;
readln;
end.

Bình luận (0)
 Khách vãng lai đã xóa
Nguyễn Lê Phước Thịnh
9 tháng 2 2020 lúc 19:20

uses crt;
var n,kt,i,n1,i1:integer;
begin
clrscr;
write('nhap n='); readln(n);
write(n,'=');
n1:=n;
i1:=2;
repeat
while n1 mod i1<>0 do
i1:=i1+1;
write(i1);
n1:=n1 div i1;
if n1>1 then write('*');
until n1=1;
readln;
end.

Bình luận (0)
 Khách vãng lai đã xóa
Nguyễn Huy Hoàng Sơn
9 tháng 2 2020 lúc 22:15

uses crt;
var n,kt,i,n1,i1:integer;
begin
clrscr;
write('nhap n='); readln(n);
write(n,'=');
n1:=n;
i1:=2;
repeat
while n1 mod i1<>0 do
i1:=i1+1;
write(i1);
n1:=n1 div i1;
if n1>1 then write('*');
until n1=1;
readln;
end.

Bình luận (0)
 Khách vãng lai đã xóa

Các câu hỏi tương tự
Kamato Heiji
Xem chi tiết
Hưng Quốc
Xem chi tiết
Bảo Châu
Xem chi tiết
Bbi thành real
Xem chi tiết
Lê Xuân Hoa
Xem chi tiết
ko có tên
Xem chi tiết
phamthiminhanh
Xem chi tiết
Quỳnh Chi Nguyễn
Xem chi tiết
dinhnguyentuhuy
Xem chi tiết