In ra màn hình pascal phần tử có dạng '3 mũ k cộng 2'

Viết chương trình nhập mảng 1 chiều có N phần tử. In ra màn hình các phần tử có dạng 3k+2 (k=0,1,2,3...).
Ý tưởng: Viết hàm kiểm tra xem phần tử a[i] có dạng 3^k+2 hay không.


uses crt;
var b,j,i,x:integer;
a:array[1..100] of integer;


Function gt(k:integer):longint;
 var j:integer;s:longint;
  begin
s:=1;
     for j:=1 to k do
           s:=s*3;
gt:=s;
end;

{-------------------------------------}

Function kt(x:integer):boolean;
 var i,j,k:integer;s:longint;
  begin
kt:=false;

s:=1;
k:=0;

 Repeat
  inc(k);
gt(k);

Until gt(k)>=x-2;
if gt(k)=x-2 then kt:=true;
end;

{---------------------------------}

begin
 clrscr;
     Write('Nhap so phan tu= ');readln(x);
     For i:=1 to x do begin
      write('a[',i,']= ');
      readln(a[i]);
       end;
 For i:=1 to x do
   if kt(a[i]) then write(a[i],' ');writeln;
   readln
   end.

Không có nhận xét nào:

Đăng nhận xét