Hiển thị kết quả từ 1 đến 10 / 10
  1. #1
    Tham gia
    06-12-2007
    Bài viết
    1
    Like
    0
    Thanked 0 Times in 0 Posts

    Ai có thời gian thì giúp mình với !!!

    Em có ba bài toán Pascal muôn nhờ mọi người giúp đỡ !! Níu mọi người có thời gian thì giúp em viết chương trình luon nha !!! Em xin cảm ơn rất nhiều !!!
    1.Nhập số n , in ra các số nhỏ hơn hoặc = n là số nguyên tố .
    2.Cho số tự nhiên n . Tính tổng dãy số sau : 1 + 1/2 + 1/4 + 1/7+...+1/n.Tính cả 1/n nếu no ko thuộc quy luật của dãy.
    3.Cho số thực x . Tính((x-2)(x-4)(x-8)...(x-64))/((x-1)(x-3)(x-7)...(x-63)).
    Mấy bài trên sẽ ko quá khó nếu đề bài ko ép em và thế cùng !!! Ko được sài mảng , xâu , chuỗi , hay while...do, repeat...until , boolean , true ...false, hay break gi hết , mà chỉ được quyền sài for... to ... do thui !!! Thía mởi dở cười !!! Mong mọi người giúp em !!!
    Quote Quote

  2. #2
    Tham gia
    17-10-2007
    Location
    Hà Nội
    Bài viết
    758
    Like
    0
    Thanked 8 Times in 7 Posts
    Câu 1. Nếu không được dùng break thì có được dùng exit hay halt không?
    Câu 2. Chẳng hiểu quy luật là gì vậy?
    Câu 3. Dùng 1 biến kiểu thực lưu trữ kết quả, ban đầu gán giá trị 1
    Dùng vòng for cho i chạy từ 1 đến 64. Nếu i chẵn thì kq=kq x (x-i) ngược lại cho kq=kq/(x-i) À quên, chẳng hiểu đề bài có cấm dùng nốt if - then - else không?

  3. #3
    Tham gia
    11-04-2007
    Bài viết
    33
    Like
    0
    Thanked 0 Times in 0 Posts
    ặc
    Câu 1 thì chỉ là vòng lặp i -- n roài kiểm tra phải số nt ko thôi theo mình bạn nên để 1 cái j là kiểu string á rồi nếu là số ntố thì + nó vào cái string đó vậy là xong .
    Câu 2 thì bạn xem sách Tin học 11 có mà

  4. #4
    Tham gia
    25-07-2002
    Bài viết
    1,756
    Like
    9
    Thanked 54 Times in 40 Posts
    Cả 3 chỉ cần dùng For.. to .. do + If.. then.. else là đủ
    - bài 1 dùng for 2 lần:
    Code:
      ...
      For i:=1 to n do 
        Begin
         Demuoc:=0;
         For j:=2 to i-1 do If i mod j =0 then demuoc:=demuoc+1;
         If demuoc=0 then Writte(i:4,' la so nguyen to');
        End;
    - Bài 2 ta nhận thấy
    Voi i=1--->Mauso=1
    voi i=2--->mauso:=mauso+i-1=1+2-1=2
    voi i=3--->mauso:=mauso+i-1=2+3-1=4
    voi i=4--->mauso:=mauso+i-1=4+4-1=7
    ...............
    Vậy quy luật là từ phần tử thứ 2 trở đi, mẫu số là M:=m+i-1
    Code:
     Mauso:=1
     Tong:=1
     For i:=2 to n do
      Begin
       Mauso:=mauso+i-1;
       Tong:=tong+1/mauso;
      End;
    - câu 3
    Quote Được gửi bởi mr_invinsible
    Câu 3. Dùng 1 biến kiểu thực lưu trữ kết quả, ban đầu gán giá trị 1
    Dùng vòng for cho i chạy từ 1 đến 64. Nếu i chẵn thì kq=kq x (x-i) ngược lại cho kq=kq/(x-i)
    Nợ tình chưa trả cho ai.
    Chết xuống huyền đài, tình vẫn còn nguyên

  5. #5
    Tham gia
    19-02-2007
    Bài viết
    136
    Like
    0
    Thanked 1 Time in 1 Post
    1.Nhập số n , in ra các số nhỏ hơn hoặc = n là số nguyên tố .
    Câu này thì dễ rồi. viết 1 hàm kiểm tra số nguyên tố và dùng vòng for--> xong
    for i =2 to n do
    if nt(i) then write(i,' ');
    {hàm nt(i):
    function nt(i:byte):boolean;
    var j:byte;
    dd:boolean
    begin
    dd:=true;
    for j:=2 to (i div 2) do
    if i mod j =0 then dd:=false;{chỗ này dc dùng break thì tốt hơn)
    nt:=dd;
    end;}
    2.Cho số tự nhiên n . Tính tổng dãy số sau : 1 + 1/2 + 1/4 + 1/7+...+1/n.Tính cả 1/n nếu no ko thuộc quy luật của dãy.
    j:=1;
    tong:=0;
    for i:=1 to n-1 do
    begin
    if j<n do tong:=tong+1/j;
    j:=j+i;
    end;
    tong:=tong+1/n;
    3.Cho số thực x . Tính((x-2)(x-4)(x-8)...(x-64))/((x-1)(x-3)(x-7)...(x-63)).
    vì ko dc dùng while.. do và rêpat thì làm thế này
    tong:=1;
    for i:=2 to 64 do
    if i mod 2 =0 then tong:=tong*((x-i)/(x-i-1));
    -->xong

  6. #6
    Tham gia
    19-07-2008
    Location
    CĐV-Phú Tân-Cà Mau
    Bài viết
    124
    Like
    0
    Thanked 2 Times in 2 Posts
    @KTVNguyenChien
    Bài 1 của bạn sai vì 1 ko là số nguyên tố nên phải cho i chạy từ 2 đến n
    Còn j nên cho chạy đến trunc(sqrt(i))

  7. #7
    Tham gia
    20-03-2007
    Bài viết
    46
    Like
    0
    Thanked 0 Times in 0 Posts
    @mr_invincible: anh giải đc bài 2 với n <= 10^15 ko (ko dùng mấy thứ cao siêu nhé)
    Cần 1 trick nhỏ

  8. #8
    Tham gia
    17-10-2007
    Location
    Hà Nội
    Bài viết
    758
    Like
    0
    Thanked 8 Times in 7 Posts
    Bài 2 anh còn ko hiểu đề +_+ Ko hiểu quy luật dãy đấy.

  9. #9
    Tham gia
    29-12-2007
    Location
    vạn giã - vạn ninh - khánh hòa
    Bài viết
    93
    Like
    0
    Thanked 0 Times in 0 Posts
    bài 2 thì quy luật cũng đơn giản, tổng quát thế này lấy mẫu số của phân số trước cộng thêm cho i ta được mẫu số của phân số sau, trong đó i thuộc Z dương bắt đầu từ 1 đến m, cộng cho đến khi mẫu số bé hơn hoặc bằng n, nếu bé hơn thì cộng thêm 1/n, còn bằng thì khỏi cộng
    VD:
    phân số thứ nhất là 1/1
    phân số thứ hai là 1/2=1/(1+1)
    phân số thứ ba là 1/4=1/(2+2)
    phân số thứ tư là 1/7=1/(4+3)

  10. #10
    Tham gia
    28-09-2007
    Location
    Vĩnh Yên-Vĩnh Phúc
    Bài viết
    1,167
    Like
    6
    Thanked 12 Times in 11 Posts
    Quote Được gửi bởi nhat_truong View Post
    @KTVNguyenChien
    Bài 1 của bạn sai vì 1 ko là số nguyên tố nên phải cho i chạy từ 2 đến n
    Còn j nên cho chạy đến trunc(sqrt(i))
    bạn ấy ko sai đâu

Bookmarks

Quy định

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể sửa bài viết của mình
  •