Иностранный язык с ИИ: AI Prompt Example
Пример запроса к ИИ создан с целью тестирования работы с ИИ. Всякие совпадения с иными мыслями являются ошибочными.
Сгенерируй максимально простой 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 PromptExample
...