Const n=20;
var a:array[1..n] of integer;
i,j,t,i1,i2,x:integer;
begin
Randomize;
Writeln('Исходный массив:');
for i:=1 to n do begin
a[i]:=Random(15);
Write(a[i],' ')
end;
Writeln;
for i:=1 to n-1 do
for j:=1 to n-i do
if a[j]>a[j+1] then
begin t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t end;
Writeln('Отсортированный массив:');
for i:=1 to n do Write(a[i],' ');
Writeln;
write('x = '); readln(x);
i1:=1; i2:=n;
repeat
i:=(i1+i2) div 2;
if a[i]<x then i1:=(i1+i2) div 2+1;
if a[i]>x then i2:=(i1+i2) div 2-1;
until (a[i]=x)or(i1>i2);
if a[i]=x then
begin
while (i>0)and(a[i]=x) do i:=i-1;
i:=i+1; j:=i;
while (i<=n)and(a[i]=x) do i:=i+1;
writeln('Число ',x,' встречается ',i-j,' раз(а)');
end
else writeln('Число ',x,' не встречается');
writeln;
end.
Пример:
Исходный массив:
4 13 5 3 14 12 12 8 9 6 3 2 4 4 14 1 12 2 5 9
Отсортированный массив:
1 2 2 3 3 4 4 4 5 5 6 8 9 9 12 12 12 13 14 14
x = 5
Число 5 встречается 2 раз(а)
A = 18; b = 2
1) a = 36
2) b = 0
3) c = 36
Ответ: c = 36
оператор div это целочисленное деление, то есть одно число делим на другое целую часть оставляем остольное отбрасываем.
25 div 8 = 3
Using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Введи длину массива");
int n = int.Parse(Console.ReadLine());
int[] mass = new int[n];
for (int i = 0; i < n; i++)
{
Console.WriteLine("Введи " + i + " элемент");
mass[i] = int.Parse(Console.ReadLine());
}
for (int i = 0; i < n; i++)
{
if (i == mass[i])
Console.WriteLine("Элемент " + i + " совпадает со своим индексом");
}
Console.ReadKey();
}
}
}
121(7) + 1 = 101(8)
64 + 1 = 65