Значение арифметического выражения: 36^17 + 6^15 – 9 записали в системе счисления с основанием 6. Сколько цифр «5» в этой записи , желательно с объяснениями
1) const n=5; m=4; var a:array[1..n,1..m] of integer; i,j:integer; b1,b2:boolean; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(100); write(a[i,j]:4); end; writeln; end; for i:=1 to n do begin b1:=true; b2:=true; for j:=2 to m do begin if a[i,j-1]>=a[i,j] then b1:=false; if a[i,j-1]<=a[i,j] then b2:=false; end; if b1 then writeln('В(о) ',i,' строке последовательность возрастающая'); if b2 then writeln('В(о) ',i,' строке последовательность убывающая'); end; end.
2) В постановке задачи есть неопределенность. Какой (какие) индекс (ы) должен быть степенью двойки - хотя бы один или оба?
3) const n=5; m=4; var a:array[1..n,1..m] of integer; i,j,k:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(100); write(a[i,j]:4); end; writeln; end; k:=0; for i:=1 to n do for j:=1 to m do if a[i,j] mod 7 = 0 then k:=k+1; writeln('k = ',k); end.
const n=5; m=4;
var
a:array[1..n,1..m] of integer;
i,j:integer;
b1,b2:boolean;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
begin
b1:=true; b2:=true;
for j:=2 to m do
begin
if a[i,j-1]>=a[i,j] then b1:=false;
if a[i,j-1]<=a[i,j] then b2:=false;
end;
if b1 then writeln('В(о) ',i,' строке последовательность возрастающая');
if b2 then writeln('В(о) ',i,' строке последовательность убывающая');
end;
end.
Пример:
Исходный массив:
59 91 71 89
89 65 40 31
51 62 97 61
88 25 87 11
8 9 12 80
В(о) 2 строке последовательность убывающая
В(о) 5 строке последовательность возрастающая
2)
В постановке задачи есть неопределенность. Какой (какие) индекс (ы) должен быть степенью двойки - хотя бы один или оба?
3)
const n=5; m=4;
var
a:array[1..n,1..m] of integer;
i,j,k:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
k:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j] mod 7 = 0 then k:=k+1;
writeln('k = ',k);
end.
Пример:
Исходный массив:
63 19 86 92
23 9 62 3
89 56 54 46
77 89 70 41
60 1 63 82
k = 5
using System.Collections.Generic;
public class Matrix
{
private double[,] Data;
public double this[int i, int j]
{
get { return Data[i, j]; }
set { Data[i, j] = value; }
}
public Matrix(double[,] data) { this.Data = data; }
public override string ToString()
{
var sb = new System.Text.StringBuilder();
for (var i = Data.GetLowerBound(0); i <= Data.GetUpperBound(0); i++)
{
for (var j = Data.GetLowerBound(1); j <= Data.GetUpperBound(1); j++)
{
sb.AppendFormat("{0} ", Data[i, j]);
}
sb.AppendLine();
}
return sb.ToString();
}
public int GetUpperBound(int i) => this.Data.GetUpperBound(i);
public static Matrix operator -(Matrix a, Matrix b)
{
var c = new double[1 + Math.Min(a.GetUpperBound(0), b.GetUpperBound(0)), 1 + Math.Min(a.GetUpperBound(1), b.GetUpperBound(1))];
for (var i = 0; i <= c.GetUpperBound(0); i++)
{
for (var j = 0; j <= c.GetUpperBound(1); j++)
{
c[i, j] = a[i, j] - b[i, j];
}
};
return new Matrix(c);
}
}
class Program
{
static void Main()
{
var n = 5;
var a = new Matrix(new double[n, n]);
var b = new Matrix(new double[n, n]);
for (var i = 0; i < n; i++)
{
for (var j = 0; j < n; j++)
{
a[i, j] = i + j;
b[i, j] = i;
}
}
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(a - b);
Console.ReadKey();
}
}