Var a,str:string; k,n,i,z,m,j,c,S,x,y,l:integer; begin writeln('введите число'); readln(str); writeln('a ?'); readln(a); writeln('z ?'); readln(z); writeln('x & y'); readln(x,y); n:=length(str); for i:=1 to n do begin if str[i]=a then k:=k+1; val(str[i],m,j); if m mod z=0 then c:=c+1; if str[i]>a then begin val(str[i],m,j); s:=s+m; end; val(str[i],m,j); if (m=x)or(m=y)then l:=l+1; end; writeln('k: ',k,'кратное z: ',c,' s: ',s,' кол-во x,y: ',l); end.
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).a,str:string;
k,n,i,z,m,j,c,S,x,y,l:integer;
begin
writeln('введите число');
readln(str);
writeln('a ?');
readln(a);
writeln('z ?');
readln(z);
writeln('x & y');
readln(x,y);
n:=length(str);
for i:=1 to n do
begin
if str[i]=a then
k:=k+1;
val(str[i],m,j);
if m mod z=0 then
c:=c+1;
if str[i]>a then
begin
val(str[i],m,j);
s:=s+m;
end;
val(str[i],m,j);
if (m=x)or(m=y)then
l:=l+1;
end;
writeln('k: ',k,'кратное z: ',c,' s: ',s,' кол-во x,y: ',l);
end.