Авторські розв'язки задач 1 туру ******************** Задача t1z1 ******************** VAR i, count:longint; s:string; function check (st:string):boolean; var t, j:longint; flag:boolean; begin if st='' then begin check:=false; exit; end; t:=length(st); flag:=true; j:=1; while flag and (j<=t div 2) do begin if st[j]<>st[t-j+1] then flag:=false; inc(j); end; check:=flag; end; begin count:=0; while not eof do begin readln (s); if check (s) then inc(count); end; writeln (count); end. ******************** Задача t1z2 ******************** VAR n, i:longint; s, st:string; function check (sts:string):boolean; var t, j:longint; flag:boolean; begin t:=length(sts); flag:=true; j:=1; while flag and (j<=t div 2) do begin if sts[j]<>sts[t-j+1] then flag:=false; inc(j); end; check:=flag; end; procedure dectobin(p:longint; var si:string); var ost:integer; begin si:=''; while p>1 do begin ost:=p mod 2; str(ost, st); si:=st+si; p:=p div 2; end; si:='1'+si; end; begin readln (n); if n mod 2 =0 then i:=n+1 else i:=n; while i<=2*n-1 do begin dectobin (i,s); if check (s) then writeln (s); inc (i, 2); end; end. ******************** Задача t1z3 ******************** #include #include using namespace std; int main() { ifstream fin("palindrome1.dat"); ofstream fout("palindrome1.sol"); char s[50]; fin >> s; int len = strlen(s),i,j,k; long kol[30][30]; for (i=0; i #include #define N 2000 using namespace std; int main() { ifstream fin("Palindrome2.dat"); ofstream fout("Palindrome2.sol"); char s[N]; bool* Pal[N]; for (int r=0; r> s; int len = strlen(s),i,j; for (i=0; i