Giúp mình mấy bài tập này với!

T

tmb12

[TẶNG BẠN] TRỌN BỘ Bí kíp học tốt 08 môn
Chắc suất Đại học top - Giữ chỗ ngay!!

ĐĂNG BÀI NGAY để cùng trao đổi với các thành viên siêu nhiệt tình & dễ thương trên diễn đàn.

1/In ra màn hình tất cả các hợp số < 100
2/In ra màn hình các số nằm giữa 100 và 50000 chia hết cho 3,5,7
3/Nhập một số tự nhiên N bất kì sau đó tìm ước nguyên tố nhỏ nhất của nó

Giúp giùm mình na vì mình dở môn pascal lắm mà lười search quá:p
 
C

cuong276

Bài 1
Mã:
var i:byte
function kt(i:byte):boolean;
var j:byte;
begin
   kt:=true;
   for j:=2 to trunc(sqrt(i)) do
     if i mod j=0 then
       begin
          kt:=false;
          break;
       end;
end;
BEGIN
   for i:=1 to 100 do
        if kt(i)=false then write(i,'  ')
   readln;
END.
 
C

cuong276

Bài 2:
Mã:
var i:longint;
BEGIN
   for i:=100 to 50000 do
        if (i mod 3=0) and (i mod 5=0) and (i mod 7=0) then write(i,'  ');
   readln;
END.
 
C

cuong276

Bài 3:
Mã:
var n,i:longint;
function kt(i:byte):boolean;
var j:byte;
begin
   kt:=true;
   for j:=2 to trunc(sqrt(i)) do
     if i mod j=0 then
       begin
          kt:=false;
          break;
       end;
end;
BEGIN
   write('n=');readln(n);
   for i:=2 to n do
        if (n mod i=0) and (kt(i)) then
           begin
                  writeln(i);
                  break;
           end;
   readln;
END.
 
T

tmb12

Thanks bạn cuong276 nhiều lắm! Thầy có cho bài tập mình nhờ bạn giải giùm nhé!
 
Last edited by a moderator:
T

tmb12

Giúp mình mấy bài này nữa đi

4/Nhập số tự nhiên N > 1 bất kì từ bàn phím rồi in ra màn hình khai triển thành tích các số nguyên tố từ nhỏ đến lớn
VD: 9 = 3.3
12 = 2.2.3
bằng 2 cách khác nhau.
5/Cho số tự nhiên N bất kì tính tổng S= 1 + 1/(1+2!) + 1/(1+2!+3!) +...+ 1/(1+2!+3!+...+N!)
6/Cho một dãy số nguyên bất kì nếu trong dãy này có các số hạng = 0 hãy xóa các số hạng đó đi và in ra màn hình các số hạng còn lại.

Thank nhiều lắm!=D&gt;
 
Last edited by a moderator:
C

cuong276

4/Nhập số tự nhiên N > 1 bất kì từ bàn phím rồi in ra màn hình khai triển thành tích các số nguyên tố từ nhỏ đến lớn
VD: 9 = 3.3
12 = 2.2.3
bằng 2 cách khác nhau.
5/Cho số tự nhiên N bất kì tính tổng S= 1 + 1/(1+2!) + 1/(1+2!+3!) +...+ 1/(1+2!+3!+...+N!)
6/Cho một dãy số nguyên bất kì nếu trong dãy này có các số hạng = 0 hãy xóa các số hạng đó đi và in ra màn hình các số hạng còn lại.

Thank nhiều lắm!=D&gt;

4)
Mã:
var i,n:integer;
BEGIN
   repeat
      write('n=');
      readln(n);
   until n>1;
   i:=2;
   write('n=');
   while n<>0 do
       begin
          if n mod i=0 then 
             begin
                 if i=n then 
                    begin
                        write(i);
                        break;
                    end;
                 write(i,'.');
                 n:=n div i;
             end
          else inc(i);
       end;
   readln;
end.
 
T

tmb12

Cho mình hỏi là mình có thể dùng Free Pascal thay thế cho Turbo Pascal không vì máy mình chạy Turbo rất chậm và dịch hay bị lỗi thư viện lắm?
 
C

cuong276

5/Cho số tự nhiên N bất kì tính tổng S= 1 + 1/(1+2!) + 1/(1+2!+3!) +...+ 1/(1+2!+3!+...+N!)

5)
Mã:
var s:real;
    i,n,s1,s2,k,j,z:longint;
begin
     write('n=');readln(n);
     s:=0;
     k:=1;
     for i:=1 to n do
         begin
              s1:=0;
              for j:=1 to k do
                  begin
                       s2:=1;
                       for z:=1 to j do s2:=s2*z;
                       s1:=s1+s2;
                  end;
              inc(k);
              s:=s+(1/s1);
         end;
     write(s:5:2);
     readln;
end.
 
T

tmb12

Còn bài số 6 bạn giải được không? Cả lớp tụi mình toàn trố mắt nhìn rồi thở dài!
 
C

cuong276

6)
Mã:
var a:array[1..100]of integer;
    st,s:string;
    n,i:integer;
begin
     write('n=');readln(n);
     for i:=1 to n do
         begin
              write('a[',i,']=');
              readln(a[i]);
         end;
     st:='';
     for i:=1 to n do
         begin
              str(a[i],s);
              st:=st+s;
         end;
     i:=1;
     while i<=length(st) do
           begin
                if st[i]<>'0' then inc(i)
                else delete(st,i,1);
           end;
     for i:=1 to length(st) do write(st[i],' ');
     readln;
end.
 
M

mikelhpdatke

Nhưng trong trường dạy Turbo Pascal hay Free Pascal vậy bạn? Turbo không còn phổ biến như xưa chứ chưa chết đâu.
Ở trường thì dạy cái cơ bản nên học FP hay TP đều được, vì chúng chỉ là kiến thức cơ bản. Nhưng học nâng cao thì mình khuyên dùng FP
 
T

tmb12

Ở trường thì dạy cái cơ bản nên học FP hay TP đều được, vì chúng chỉ là kiến thức cơ bản. Nhưng học nâng cao thì mình khuyên dùng FP

Thì mình có nói không nghe lời khuyên của 2 bạn đâu mà:p Mình thấy IDE Lazarus của Free Pascal cũng hay đó chứ, có thể thiết kế được giao diện cửa sổ giống như Windows.
 
1

11thanhkhoeo

Cho mình hỏi là mình có thể dùng Free Pascal thay thế cho Turbo Pascal không vì máy mình chạy Turbo rất chậm và dịch hay bị lỗi thư viện lắm?

free pascal có 3 cái lợi so với turbo

+ lưu trước khi chạy (không sợ mất bài)

+ báo lỗi tất cả (turbo phải bật các bộ kiểm tra )

+ biến, hàm nhiều hơn vd int64

Em có thể dùng mà không cần lăn tăn gì cả

Thân
 
1

11thanhkhoeo

Thì mình có nói không nghe lời khuyên của 2 bạn đâu mà:p Mình thấy IDE Lazarus của Free Pascal cũng hay đó chứ, có thể thiết kế được giao diện cửa sổ giống như Windows.

Cái cốt lõi của lập trình là thuật toán. Ngôn ngữ chỉ trợ giúp chúng ta mà thôi. Vd Window được viết bằng một ngôn ngũ khá cổ là C+

Anh thì khuyên em nên học Bazic, Java nếu em hướng làm phần mềm, HTML nêu theo lập trình WEB
 
Top Bottom