AI-powered Code Generation Разработка приложений с использованием ИИ Генерирование полного Android Studio JAVA проекта генератора псевдослучайных чисел с использованием одного запроса к ИИ chat.deepseek.com Генератор использует общедоступный алгоритм Блюм Блюм Шуба Сгенерируй максимально простой Java код приложения DeepseekBlume для Android 11 для SDK 33. Разметка в Activity_main.xml должна позволять вертикальную прокрутку экрана для просмотра всего содержимого. Нужно запросить и получить все необходимые для работы приложения разрешения, в том числе и разрешение на чтение и запись данных В самом верху экрана разместить поле первого EditText для ввода текста. В первом EditText в подсказку Hint написать текст: "Введите не менее 100 символов для создания ключа". Создадим Int переменную E=2048 При вводе текста в это поле надо проверять количество введенных символов. Не разрешать вводить в это поле первого EditText больше 120 символов. Как только количество введенных символов в поле первого EditText станет больше 100, нужно преобразовать введенный текст в Big Int число и записать его в переменную L размерности E бит, и выполнить следующие действия в пункте NN . Начало пункта NN Проверить наличие файла xor.txt в папке Download смартфона. Если файл xor.txt существует - удалить его. Нужно проверить в папке Download смартфона наличие текстового файла digital.bbs в формате JSON Если файла digital.bbs в папке Download НЕТ, то выполнить лействия в пункте 1. Если в папке Download есть файл digital.bbs то пункт 1 не выполнять, а прочитать значения чисел P, Q, L из файла digital.bbs Начало пункта 1. Приложение должно вычислить два простых Big Int числа P и Q размерности E бит, удовлетворяющих условию, что каждое из них при делении на 4 даёт остаток 3 На экране приложения должны располагаться несколько TextView В один TextView необходимо написать число P Во второй TextView необходимо написать число Q Необходимо вычислить число M=P*Q Выбираем случайное Big Int число L размерности E бит, взаимно простое с M Создать в папке Download смартфона текстовый файл digital.bbs и записать в него вычисленные значения чисел P, Q, L в формате JSON Конец пункта 1. Необходимо вычислить число M=P*Q Вычисляем Big Int число K = L*L (т.е. как L в степени 2) Находим Big Int число H=K mod M В третий TextView необходимо записать Big Int число H Далее создадим функцию DigCreate, которую используем E раз. Создадим Big Int переменную NumRnd, с которой будем производить битовые операции. Функция DigCreate делает E раз следующее: Начало пункта 2. - вычислим число N=(H*H) mod M - из числа N выберем самый младший бит (бит чётности) - в числе NumRnd сделаем сдвиг битов влево на одну позицию. При этом самый старший бит (самый правый) отбрасывается - запишем значение из младшего бита числа N в младший бит числа NumRnd - присвоим значение числа N числу H - повторим действия, начиная с пункта 2. После этого в числе NumRnd должны быть заполнены все биты. Напишем число NumRnd в четвёртый TextView Далее с числом NumRnd нужно произвести битовые операции. 1. Запомнить значение младшего бита (бита чётности) 2. Сдвинуть все биты числа NumRnd на один бит вправо 3. Записать запомненный в пункте1 бит чётности в самый старший (правый) бит числа NumRnd Написать число NumRnd в пятый TextView Конец пункта NN Ниже пятого TextView разместить поле второго EditText для ввода текста пользователем. В втором EditText в подсказку Hint написать текст: "Введите текст для обработки. Только буквы. Не более 200 символов". В java коде в MainActivity.java написать комментарий:"В это поле EditText вводить только буквы. Цифры писать словами. Всего не более 200 символов" Ограничить количество вводимых символов в поле второго EditText - не более 200 символов. Ниже второго EditText разместить кнопку с надписью "XOR". Рядом с кнопкой "XOR" разместить кнопку "XOR2". Создать BigInt переменную ResultText При нажатии на кнопку "XOR" : - сначала преобразовать текст, введённый в второе поле EditText в BigInt число и записать в переменную EnText - затем выполнить бинарную операцию XOR между числами NumRnd и EnText - очистить поле второго EditText Записать полученный результат в текстовый файл xor.txt в папку Download смартфона, в переменную ResultText и так же поместить результат операции XOR в поле второго EditText При нажатии на кнопку "XOR2" произвести бинарную операцию XOR между числами NumRnd и ResultText и записать в поле второго EditText AI-powered Code Generation (c) by Valery Shmelev