Dãy số tự nhiên a1, a2,.., ak được gọi là hạnh phúc nếu nó thỏa mãn các điều kện sau :
- Dãy trên là dãy giảm dần .
- Với mọi i (1<i<=k) ai hoặc là số nguyên tố, hoặc phải là ước của một trong các số a1, a2,.., ai-1 .
Em hãy viết chương trình để: Nhập vào một số N từ bàn phím và in ra màn hình một dãy số hạnh phúc dài nhất với số hạng đầu tiên là N.
Ví dụ:
Nhập N Đọc ra màn hình
8 DAY THOA MAN: 8 7 5 4 3 2 1
Lời giải tham khảo
uses crt;
var a: array[1..1000]of integer;
i,j,k,n,d:integer;
kt:boolean;
function nt(n:longint):boolean;
var i:longint;
begin
if n<2 then nt:=false
else begin
i:=2;
while (i<=sqrt(n)) and (n mod i<>0) do inc(i);
nt:=(i>sqrt(n));
end;
end;
BEGIN
clrscr;
write('vao n=');readln(n);
if n=2 then write(n,' ',1)
else
begin
d:=1; a[1]:=n;
for i:= n-1 downto 1 do
begin
if(nt(i)) then begin inc(d);a[d]:=i;a[d]:=i;end
else
begin
kt:=false;
for j:=1 to d-1 do
if a[j] mod i=0 then kt:=true;
if kt then begin
inc(d);
a[d]:=i;
end;
end;
end;
for i:=1 to d do write(a[i],' ');
end;
readln;
END.
9.29.2017
Subscribe to:
Post Comments (Atom)
dạ với số n <=10000 thì sợ chương trình chạy ko nổi Thầy ah
ReplyDeleteAnh yêu em
ReplyDeleteem đell êu anh :))))))
Deletehi what your name
ReplyDeletehai cây kem ngàn rưởi
Deleteai solo fai fai hông:))))
ReplyDeletebố cân tất :)))))))
Deletebá dô
ReplyDeletebá zoo :P)
Delete..
ReplyDelete