Bài tập về câu lệnh For 1. Viết chương trình tính tích P=1x2x3x..xn (n là các số nguyên >=1 nhập từ bàn phím). 2. Viết chương trình tính lũy

Bài tập về câu lệnh For
1. Viết chương trình tính tích P=1x2x3x..xn (n là các số nguyên >=1 nhập từ bàn phím).
2. Viết chương trình tính lũy thừa của xn (x,n là các số nguyên dương nhập từ bàn phím).
3. Viết chương trình kiểm tra số nguyên n (n>=2) có phải là số hoàn hảo hay không? (số hoàn hảo là số bằng tổng các ước của nó trừ chính nó).
4. Viết chương trình kiểm tra số nguyên n (n>=2) có phải là số nguyên tố hay không? (số nguyên tố là số có 2 ước 1 và chính nó).
5. Viết chương trình in ra các số hoàn hảo từ 2 đến n (n là số nguyên >=2).
6. Viết chương trình in ra các số nguyên tố từ 2 đến n (n là số nguyên >=2).
giúp mình với nhé

0 bình luận về “Bài tập về câu lệnh For 1. Viết chương trình tính tích P=1x2x3x..xn (n là các số nguyên >=1 nhập từ bàn phím). 2. Viết chương trình tính lũy”

  1. 1.

    var n:longint;
    //
    function gt(n:longint):int64;
    var h:longint;
    begin
    gt:=1;
    for h:=2 to n do gt:=gt*h;
    end;
    //
    begin
    read(n);
    write(gt(n));
    end.

    2.

    var n,x:longint;
    //
    function power(a:longint):int64;
    var tmp:longint;
    begin
    if a=1 then exit(x);
    tmp:=power(a div 2);
    if a mod 2=0 then exit(tmp*tmp) else exit(tmp*tmp*x);
    end;
    //
    begin
    read(x,n);
    write(power(n));
    end.

    3.

    var n:longint;
    begin
    read(n);
    if (n=6) or (n=28) or (n=496) and (n=8128) then write(‘Co la so hoan hao’)

     else write(‘Khong la so hoan hao’);
    end.

    4.

    var n:longint;
    //
    function snt(x:longint):boolean;
    var h:longint;
    begin
    if x<2 then exit(false);
    for h:=2 to trunc(sqrt(x)) do
     if x mod h=0 then exit(false);
    exit(true);
    end;
    //
    begin
    read(n);
    if snt(n)=true then write(‘Co la so nguyen to’)
     else write(‘Khong la so nguyen to’);
    end.

    5.

    var n:longint;
    begin
    read(n);
    if 6<=n then write(6,’ ‘) else begin
                                   write(‘Khong co so nao’);
                                   exit;
                                   end;
    if 28<=n then write(28,’ ‘) else exit;
    if 496<=n then write(496,’ ‘) else exit;
    if 8128<=n then write(8128,’ ‘) else exit;
    end.

    6.

    var n:longint;
    //
    procedure sang_ngto;
    var i,j,h:longint;
        kt:array[1..10000000] of boolean;
    begin
    fillchar(kt,sizeof(kt),true);
    for j:=2 to trunc(sqrt(n)) do
     begin
     if kt[j]=false then continue;
     i:=j*j;
     while i<=n do
      begin
      kt[i]:=false;
      i:=i+j;
      end;
     end;
    for h:=2 to n do
     if kt[h]=true then write(h,’ ‘);
    end;
    //
    begin
    read(n);
    sang_ngto;
    end.

    Bình luận

    1.

    var n:longint;
    //
    function gt(n:longint):int64;
    var h:longint;
    begin
    gt:=1;
    for h:=2 to n do gt:=gt*h;
    end;
    //
    begin
    read(n);
    write(gt(n));
    end.

    2.

    var n,x:longint;
    //
    function power(a:longint):int64;
    var tmp:longint;
    begin
    if a=1 then exit(x);
    tmp:=power(a div 2);
    if a mod 2=0 then exit(tmp*tmp) else exit(tmp*tmp*x);
    end;
    //
    begin
    read(x,n);
    write(power(n));
    end.

    3.

    var n:longint;
    begin
    read(n);
    if (n=6) or (n=28) or (n=496) and (n=8128) then write(‘Co la so hoan hao’)

     else write(‘Khong la so hoan hao’);
    end.

    4.

    var n:longint;
    //
    function snt(x:longint):boolean;
    var h:longint;
    begin
    if x<2 then exit(false);
    for h:=2 to trunc(sqrt(x)) do
     if x mod h=0 then exit(false);
    exit(true);
    end;
    //
    begin
    read(n);
    if snt(n)=true then write(‘Co la so nguyen to’)
     else write(‘Khong la so nguyen to’);
    end.

    5.

    var n:longint;
    begin
    read(n);
    if 6<=n then write(6,’ ‘) else begin
                                   write(‘Khong co so nao’);
                                   exit;
                                   end;
    if 28<=n then write(28,’ ‘) else exit;
    if 496<=n then write(496,’ ‘) else exit;
    if 8128<=n then write(8128,’ ‘) else exit;
    end.

    6.

    var n:longint;
    //
    procedure sang_ngto;
    var i,j,h:longint;
        kt:array[1..10000000] of boolean;
    begin
    fillchar(kt,sizeof(kt),true);
    for j:=2 to trunc(sqrt(n)) do
     begin
     if kt[j]=false then continue;
     i:=j*j;
     while i<=n do
      begin
      kt[i]:=false;
      i:=i+j;
      end;
     end;
    for h:=2 to n do
     if kt[h]=true then write(h,’ ‘);
    end;

    begin
    read(n);
    sang_ngto;
    end.

    Bình luận

Viết một bình luận