М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации

Почтовый индекс в некоторой стране состоит из одной первой буквы (используется 26-символьный алфавит) и двух десятичных цифр, одновременно не равных 5. сколько различных индексов можно построить?

👇
Ответ:
ilyakylloRU
ilyakylloRU
14.02.2021
26*10*10 - 26 = 2574
пояснение:
26*10*10 - количество вариантов без условия "одновременно не равных 5)
тк на первом месте может стоять любая из 26 букв, на втором любая из 10 цифр, на третьем аналогично
далее вычитаем 26 вариантов: каждый вариант соответствует одной из 26 букв, когда две цифры равны 5
4,7(46 оценок)
Открыть все ответы
Ответ:
ксюша1692
ксюша1692
14.02.2021
Using System;
using System.Linq;
using System.Text;

namespace Test1
{
    class Program
    {
        static string file_name = "PrResh.txt";
        static bool handfree = true;  //определяет вручную ли вводятся данные или рандомом

        static void Main()
        {
            Console.WriteLine("Введите размеры матрицы (строки x столбцы)");
            int rows = Convert.ToInt32(Console.ReadLine());
            int columns = Convert.ToInt32(Console.ReadLine());

            var M = InitMatrix(rows, columns, handfree);

            int Reply;
            do
            {
                Console.WriteLine();
                Console.WriteLine("Выбирите метод решения:");
                Console.WriteLine("1. Критерий Сэвиджа");
                Console.WriteLine("2. Критерий Гермейера");
                Console.WriteLine("3. Выход");
                Reply = Convert.ToInt32(Console.ReadLine());

                switch (Reply)
                {
                    case 1:
                        {
                            SavageCriterion(M);
                            break;
                        }
                    case 2:
                        {
                            var Q = new double[M.GetLength(1)];
                            if (handfree)
                            {
                                var r = new Random(DateTime.Now.Millisecond);

                                for (var j = 0; j < Q.Length; j++)
                                {
                                    Q[j] = r.NextDouble();
                                }
                            }
                            else {
                                Console.WriteLine("Введите вероятности");
                                for (var j = 0; j < Q.Length; j++)
                                {
                                    Q[j] = Convert.ToDouble(Console.Read());
                                }
                            }

                            GermeierCriterion(M, Q);
                            break;
                        }
                    default:
                        {
                            Reply = -1;
                            break;
                        }

                }

            } while (Reply > 0);

            Console.ReadKey();

        }

        static double[,] InitMatrix(int rows, int columns, bool handfree = false)
        {
            var M = new double[rows, columns];

            var sb = new StringBuilder();
            sb.AppendLine("Матрица [" + rows + "x" + columns + "] :");

            if (handfree)
            {
                var random = new Random(DateTime.Now.Millisecond);
                for (var i = 0; i < rows; i++)
                {
                    for (var j = 0; j < columns; j++)
                    {
                        M[i, j] = random.NextDouble() * random.Next(-50, 50);
                        sb.Append(M[i, j] + " ");
                    }
                    sb.AppendLine();
                }
            }
            else {
                for (var i = 0; i < rows; i++)
                {
                    for (var j = 0; j < columns; j++)
                    {
                        Console.Write("M[" + i + ", " + j + "] = ");
                        M[i, j] = Convert.ToDouble(Console.Read());
                        sb.Append(M[i, j] + " ");
                    }
                    Console.WriteLine();
                    sb.AppendLine();
                }
            }

            OutputToConsoleAndLog(sb.ToString());
            return M;
        }

        static double SavageCriterion(double[,] M)
        {
            OutputToConsoleAndLog("Критерий Сэвиджа.");
            OutputToConsoleAndLog("Наибольшее значение каждого столбца.");
            var max = new double[M.GetLength(1)];
            for (var j = 0; j < max.Length; j++)
            {
                max[j] = M[0, j];
                for (var i = 1; i < M.GetLength(0); i++)
                {
                    if (max[j] < M[i, j])
                        max[j] = M[i, j];
                }
                OutputToConsoleAndLog("Max[" + j + " столбца] = " + max[j]);

            }

            OutputToConsoleAndLog("Вычтем из наибольшего значения столбца, каждое значение столбца.");
            OutputToConsoleAndLog("Сформируем новую матрицу из полученных значений.");
            var sb = new StringBuilder();

            for (var i = 0; i < M.GetLength(0); i++)
            {
                for (var j = 0; j < M.GetLength(1); j++)
                {
                    M[i, j] = max[j] - M[i, j];
                    sb.Append(M[i, j] + " ");
                }
                sb.AppendLine();
            }
            OutputToConsoleAndLog(sb.ToString());

            OutputToConsoleAndLog("Наибольшее значение каждой строки.");
            max = new double[M.GetLength(0)];

            for (var i = 0; i < M.GetLength(0); i++)
            {
                max[i] = M[i, 0];
                for (var j = 0; j < M.GetLength(1); j++)
                {
                    if (max[i] < M[i, j])
                        max[i] = M[i, j];
                }
                OutputToConsoleAndLog("Max[" + i + " строки] = " + max[i]);
            }

            OutputToConsoleAndLog("ответ: " + max.Last());
            return max.Last();
        }

        static double GermeierCriterion(double[,] M, double[] Q)
        {
            OutputToConsoleAndLog("Критерий Гермейера.");
            OutputToConsoleAndLog("Для решения необходимы сведенья о вероятности принятия каждого решения.");
            OutputToConsoleAndLog("Вероятности принятия решения:");
            for (var j = 0; j < Q.Length; j++)
            {
                OutputToConsoleAndLog("Q[" + j + "] = " + Q[j]);
            }

            var max = M[0, 0];
            for (var i = 0; i < M.GetLength(0); i++)
            {
                for (var j = 0; j < M.GetLength(1); j++)
                {
                    if (max < M[i, j]) max = M[i, j];
                }
            }

            OutputToConsoleAndLog("Наибольшее значение в матрице = " + max);
            max += 1;
            OutputToConsoleAndLog("Необходимо из каждого элемента матрицы вычесть " + max);
            OutputToConsoleAndLog("Полученная матрица:");
            var sb = new StringBuilder();

            for (var i = 0; i < M.GetLength(0); i++)
            {
                for (var j = 0; j < M.GetLength(1); j++)
                {
                    M[i, j] -= max;
                    sb.Append(M[i, j] + " ");
                    M[i, j] *= Q[j];
                }
                sb.AppendLine();
            }
            OutputToConsoleAndLog(sb.ToString());

            OutputToConsoleAndLog("Умножаем каждый элемент матрицы на соответствующую вероятность.");
            OutputToConsoleAndLog("Выбираем наименьший результат каждой строки.");
            var min = new double[M.GetLength(0)];

            for (var i = 0; i < M.GetLength(0); i++)
            {
                M[i, 0] *= Q[0];
                min[i] = M[i, 0];
                for (var j = 1; j < M.GetLength(1); j++)
                {
                    M[i, j] *= Q[j];
                    if (min[i] > M[i, j]) min[i] = M[i, j];
                }
                OutputToConsoleAndLog("Min[" + i + " строки] = " + min[i]);
            }

            OutputToConsoleAndLog("ответ: " + min.Max());
            return min.Max();
        }

        static void OutputToConsoleAndLog(string text)
        {
            Console.WriteLine(text);
            using (var file = new System.IO.StreamWriter(file_name, true))
            {
                file.WriteLine(text);
            }
        }

    }
}
4,7(67 оценок)
Ответ:
andrey451
andrey451
14.02.2021

Сделал не через numpy, как смог:

from random import random

matrix = [[random() for j in range(5)] for i in range(7)]

print('Матрица: \n', str(matrix)[1:-1].replace('], ', '\n').replace('[', '').replace(']', '').replace(',',' '), sep='')

print('Минимальное значение =>', max(max(matrix[i]) for i in range(7)))

print('Максимальное значение =>', min(min(matrix[i]) for i in range(7)))

min_mass = []

for g in matrix:

   min_mass += [min(g)]

print('Минимальные значения каждой строки пред. матрицы =>', min_mass)

Но хотя бы работает

4,8(36 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ