Var ar:array of integer; n,k,i,j:integer; b1:boolean; begin read(n,k); b1:=false; setlength(ar,n); n:=n-1; writeln('Enter array:'); for i:=0 to n do readln(ar[i]); for i:=0 to n-k+1 do begin; for j:=i to k+i-1 do if ar[i]=ar[j] then b1:=true else b1:=false; if b1=true then break; end; if b1=true then for i:=0 to n do begin; if ar[i]>0 then ar[i]:=ar[i]*(-1); write(ar[i]:4); end else writeln('Рішення не існує'); end.
Пример ввода: 5 //n 4 //k 2 1 1 1 1 Пример вывода: -2 -1 -1 -1 -1
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016 begin var m:=ReadInteger('m=').ToString.ToSortedSet; var n:=ReadInteger('n=').ToString.ToSortedSet; if m.Intersect(n).Count>0 then Writeln('Есть одинаковые цифры') else Writeln('Нет одинаковых цифр') end.
Тестовые решения: m= 12345 n= 76840 Есть одинаковые цифры
m= 123456 n= 789087 Нет одинаковых цифр
А вот примерно так почему-то заставляют писать эту же задачу в школах:
// PascalABC.NET 3.1, сборка 1172 от 19.02.2016 var i,m,n:integer; found:boolean; sm,sn:string; begin Writeln('Введите через пробел два натуральных числа: '); Read(m,n); Str(m,sm); Str(n,sn); found:=False; for i:=1 to Length(sm) do if Pos(sm[i],sn)>0 then begin found:=True; break end; if found then Writeln('Есть одинаковые цифры') else Writeln('Нет одинаковых цифр') end.
Тестовое решение: Введите через пробел два натуральных числа: 5354353 111211 Нет одинаковых цифр
I=k*i
---
палитра(Макс. количество цветов)=2 ^ вес одного цвета
N=2^i
---
256*8*1024=1024*512*i
i=I/k
i=512*4*1024/1024*512*1
i=4
N=16 цветов.
ответ: 16 цветов