5,25 Мб
Объяснение:
Поскольку разрешение состоит из двух сомножителей - ширины и высоты, то при уменьшении разрешения в 4 раза количество пикселей уменьшится в 4*4=16 раз.
Формула объема файла изображения
V = N*i, где N — общее количество пикселей, а i — глубина цвета (количество бит, выделенное на 1 пиксель)
Составим систему уравнений.
Для первого файла имеем
42=N*i
Для второго файла:
V = N/16 * 2i
Выражаем N в первом уравнении
N=42/i
Подставляем во второе уравнение:
V=42/i :16 *2i
V=42/16i *2i
V=42/8=5,25 Мб
(см. объяснение)
Объяснение:
Решение на PascalABC.NET:
##
var a: BigInteger := BigInteger.Subtract(BigInteger.Subtract(BigInteger.Multiply(BigInteger.Parse('3'), BigInteger.Pow(BigInteger.Parse('2'), 32)), BigInteger.Pow(BigInteger.Parse('2'), 10)), BigInteger.Parse('3'));
var b: String;
while(a>0) do
begin
b:= BigInteger.Remainder(a, 4).ToString+b;
a:= BigInteger.Divide(a, 4);
end;
print(b.Count(x->x='3'));
Решение на Python3:
a = 3 * 2 ** 32 - 2 ** 10 - 3
b = ''
while a > 0:
b = str(a % 4) + b
a //= 4
print(b.count('3'))
Решение на Java:
import java.math.BigInteger;
public class Study
{
public static void main(String[] args)
{
System.out.println(BigInteger.valueOf(3L).multiply(BigInteger.valueOf(2L).pow(32)).subtract(BigInteger.valueOf(2L).pow(10)).subtract(BigInteger.valueOf(3L)).toString(4).chars().filter(x->x=='3').count());
}
}
Результатом работы программ во всех случаях будет одно число 14.
Задание выполнено!
Задача 1:
using System;
using System.Collections.Generic;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int m;
Console.Write("Введите m: ");
m = Convert.ToInt32(Console.ReadLine());
int[] A = new int[m];
List<int> listb = new List<int>();
Console.WriteLine("Введите массив: ");
for (int i = 0; i < m; i++)
{
A[i] = Convert.ToInt32(Console.ReadLine());
if (A[i] % 6 == 0) listb.Add(A[i]);
}
int[] B = listb.ToArray();
Console.WriteLine("Полученный массив: ");
for (int i = 0; i < B.Length; i++)
Console.Write(B[i] + " ");
}
}
}
Задача 2:
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[,] A = new int[3,3];
int sum = 0;
Random r = new Random();
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
A[i, j] = r.Next(100);
Console.Write(A[i,j]+" ");
if (i + j == 3-1) sum += A[i,j];
}
Console.WriteLine();
}
Console.WriteLine("Сумма элементов на побочной диагонали матрицы = {0}",sum);
}
}
}