2,0,334
Объяснение:
Excel VBA
Function newstr(str As String, n As Integer) As String
Dim i As Integer
For i = 1 To n
str = Replace(str, "a", "ab")
str = Replace(str, "bb", "c")
Next
newstr = str
End Function
Function chrcount(str1 As String, str2 As String) As Integer
Dim str() As String
str = Split(str1, str2)
chrcount = UBound(str, 1)
End Function
После вызова из ячейки функции
= chrcount(newstr("abab"; 333); "a")&","&chrcount(newstr("abab"; 333); "b")&","&chrcount(newstr("abab"; 333); "c")
получаем результат:
2,0,334
2,0,334
Объяснение:
Выпишем первые 10 строк и посчитаем количество символов a, b и c
i a b c
1 acac 2 0 2
2 abcabc 2 2 2
3 accacc 2 0 4
4 abccabcc 2 2 4
5 acccaccc 2 0 6
6 abcccabccc 2 2 6
7 aa 2 0 8
8 abab 2 2 8
9 aa 2 0 10
10 abab 2 2 10
Как видим, a=2 и не изменяется, b принимает значение 0 для нечетных строк и 1 для четных строк, с принимает значение i+1 для нечетных строк и i для четных.
333 - нечетное число, поэтому b=0, а c=333+1=334
var
a:array[1..7,1..7] of byte;
i,j:byte;
begin
for i:=1 to 7 do
begin
for j:=1 to 7 do
begin
if i<=4 then
if (j>=i) and (j<=8-i) then a[i,j]:=1 else a[i,j]:=0
else
if (j<=i) and (j>=8-i) then a[i,j]:=1 else a[i,j]:=0;
Write(a[i,j]:2)
end;
Writeln
end
end.
Результат выполнения программы:
1 1 1 1 1 1 1
0 1 1 1 1 1 0
0 0 1 1 1 0 0
0 0 0 1 0 0 0
0 0 1 1 1 0 0
0 1 1 1 1 1 0
1 1 1 1 1 1 1
program p2;
var
a:array[1..6,1..6] of byte;
i,j:byte;
begin
for i:=1 to 6 do
begin
for j:=1 to 6 do
begin
a[i,j]:=i+j-1;
if a[i,j]>6 then a[i,j]:=a[i,j]-6;
Write(a[i,j]:2)
end;
Writeln
end
end.
Результат выполнения программы:
1 2 3 4 5 6
2 3 4 5 6 1
3 4 5 6 1 2
4 5 6 1 2 3
5 6 1 2 3 4
6 1 2 3 4 5