1/ Nhập số tự nhiên n, kiểm tra số đó có phải là số nguyên tố hay không ? 2/ Vẽ hình chữ nhật sau ***** ***** ***** với n là số cột, m là số hàng 3/ Nhập 2 số nguyên dương, xuất ước chung lớn nhất và bội chung nhỏ nhất. 4/ Xuất bảng cửu chương (không dùng mảng array) 5/ Nhập số tự nhiên n, xuất nhưng số nguyên tố nhỏ hơn n. trong đó bài tập 1 là em cần nhất ..... giúp em với ... cám ơn ..........
Bài 1 cần nhất làm bài 1 trước Mã: Var i,n,d : integer ; begin write ('nhap n') ; readln (n); d:= 0 ; for i := 2 to ( n div 2 ) do if n mod i = 0 then d := d + 1 ; If d>= 2 then writeln ( ' ko phai so nguyen to ' ) else writeln (' la so nguyen to'); readln; end. Bạn vào đây đi , mình sẽ giúp đỡ hoàn chỉnh hơn : http://diendanpascal.com/forum ::)
có nhiều cách để kiểm tra số nguyên tố tuy nhiên bạn mới làm quen với lập trình thì nên chọn những cách đơn giản dễ hiểu, đừng vội cố gắng học những cách code theo kiểu quá tối ưu mà ko có lợi cho tư duy lập trình sau này số nguyên tố là số chỉ chia hết cho 1 và chính nó, do đó bạn sử dụng một vòng lặp từ i chạy từ 1 đến n (với n là số cần kiểm tra) nếu n chia hết cho i thì tăng biến đếm lên 1. Sau khi ra khỏi vòng lặp thì kiểm tra nếu biến đếm = 2 thì số n là số nguyên tố, còn ngược lại n ko phải là số nguyên tố P.S : đoạn code của koranga mình nghĩ là bạn nhầm chỗ kết luận : d>=2 thì ko là số nguyên tố, ngược lại mới là số nguyên tố ^__^
Bác Korangar này suốt ngày quảng cáo Bài 1: Mã: uses crt; var n,j:integer; q:boolean; begin clrscr; write('Nhap N: '); readln(n); q:=true; for j:= 2 to sqrt(n) do if n mod j = 0 then begin q:=false; break; end; if q then write('So do la so nguyen to') else write('So do ko la so nguyen to'); readln; end. Bài 2: Mã: uses crt; var m,n,i,j:integer; begin clrscr; write('Nhap m: '); readln(m); write('Nhap n: '); readln(n); for i:=1 to m do begin for j:=1 to n do write('*'); writeln; end; readln; end. Bài 3: Mã: uses crt; var m,n,a,b,tg:integer; begin clrscr; write('Nhap m: '); readln(m); write('Nhap n: '); readln(n); a:=m; b:=n; repeat tg:=b; b:=b mod a; a:=tg; until b=0; writeln('Uoc chung lon nhat la: ',a); writeln('Boi chung nho nhat la: ',m * n div a); readln; end. Bài 4: Mã: uses crt; var i,j:integer; begin clrscr; for i:=1 to 9 do begin for j:=1 to 9 do write(i,' * ',j,'= ',i*j,' '); writeln; end; readln; end. Bài 5: bài này thì tương tự bài 1 Chỉ cần làm thêm cái hàm kiểm tra số nguyên tố là xong
em cũng có một đề nè! Chỉ em với! Nhập vào một dãi số và cho ra màn hình số nào là số nguyên tố số nào ko, và sắp xếp theo thứ tự tăng dần và chẵn lẻ! Nếu anh dang onl thì gửi bài truc típ vào mail của em nha!! Mai em thi rùi [email protected] Thanks anh nhìu!!
lâu ko sài pascal nên có thể sai cú pháp mong các bác thông cảm phân làm 3 procedure rồi gọi trong hàm chính hoặc làm trực tiếp như sau (lười và ko có pascal dể test) program use crt; var a = array[1..100] type integer; var mangNT = array[1..100] type integer; var mangKNT = array[1..100] type integer; var mangChan = array[1..100] type integer; var mangLe = array[1..100] type integer; Var i,j,n,spt1,spt2,spt3,spt4 : integer ; var q : boolean; begin spt1 = 0;{so phan tu nguyen to} spt2 = 0;{so phan tu ko nguyen to} write ('nhap n') ; readln (n); for i := 1 to n do begin write ('a[' + i + ']=' ) ; readln (a); q:= true; {xuly nguyen to hay ko} for j:= 2 to sqrt(n) do if a mod j = 0 then begin q:=false; break; end; if q = true then begin mangNT[spt1 + 1] = a; spt1 := spt1 + 1; end; else begin mangKNT[spt2+ 1] = a spt2 := spt2 + 1; end; q := true; end; writeln ( ' so nguyen to ' ); for i := 1 to spt1 do writeln ( mangNT ); writeln ( ' so nguyen to ' ); for i := 1 to spt2 do writeln ( mangKNT ); {sap tang} for i := 1 to n - 1 do for j:= 2 to n do begin if a > a[j] then begin{doi cho} a := a + a[j];{a := a + b} a[j] := a - a[j];{b := a + b - b = a} a := a - a[j];{a := a + b - a = b} end; end; {sap chan le} {ghi chu muon co thu tu tang thi nen dat cai saptang thanh 1 procedure va goi o nhung vi tri ghi chu sau *} spt3 = 0; spt4 = 0; {*} { Saptang(mangChan);} { Saptang(mangLe);} for i := 1 to n do begin if a mod 2 = 0 then begin spt3 := spt3 + 1; mangChan[spt3] = a; end; else begin spt4 := spt4 + 1; mangLe[spt4] = a; end; end; for i := 1 to spt3 do begin write(mangChan + ' '); end; for i := 1 to spt4 do begin write(mangLe + ' '); end; readln; end. . . ___________Auto Merge________________ . ui, cái này ko hỗ trợ lùi dòng bó tay rồi, lười edit lại quá , sr bạn cố gắng nhìn nha