Generate pandoc dataclasses
This commit is contained in:
+380
@@ -0,0 +1,380 @@
|
|||||||
|
# Целые числа в Java: теория и практика
|
||||||
|
|
||||||
|
## 1. Что такое целые числа и зачем они нужны
|
||||||
|
|
||||||
|
**Целое число** — это число без дробной части: ..., −3, −2, −1, 0, 1, 2, 3, ...
|
||||||
|
|
||||||
|
В программировании целые числа используются для:
|
||||||
|
- счёта объектов (количество учеников, итераций цикла);
|
||||||
|
- индексов массивов и коллекций;
|
||||||
|
- идентификаторов (номер заказа, ID пользователя);
|
||||||
|
- работы с денежными суммами в копейках/центах (чтобы избежать ошибок округления);
|
||||||
|
- битовых операций и работы с памятью.
|
||||||
|
|
||||||
|
> ⚠️ **Важно:** в Java нельзя хранить в целочисленной переменной дробное значение — компилятор выдаст ошибку или потребует явного приведения.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Примитивные целочисленные типы
|
||||||
|
|
||||||
|
В Java **4 примитивных целочисленных типа**, различающихся диапазоном и объёмом памяти:
|
||||||
|
|
||||||
|
| Тип | Размер | Диапазон | Применение |
|
||||||
|
|-----|--------|----------|------------|
|
||||||
|
| `byte` | 8 бит | от −128 до 127 | экономия памяти в массивах, работа с байтами |
|
||||||
|
| `short` | 16 бит | от −32 768 до 32 767 | редко, в основном в устаревшем коде |
|
||||||
|
| `int` | 32 бита | от −2 147 483 648 до 2 147 483 647 | **основной тип по умолчанию** |
|
||||||
|
| `long` | 64 бита | от −9.2·10¹⁸ до 9.2·10¹⁸ | большие числа, время в миллисекундах |
|
||||||
|
|
||||||
|
**Запомните:** по умолчанию любое целое литеральное число в Java имеет тип `int`. Чтобы получить `long`, добавьте суффикс `L`:
|
||||||
|
|
||||||
|
```java
|
||||||
|
int a = 2_000_000_000; // ок
|
||||||
|
long b = 9_000_000_000L; // без L будет ошибка компиляции
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Объявление переменных и литералы
|
||||||
|
|
||||||
|
```java
|
||||||
|
byte small = 100;
|
||||||
|
short medium = 30_000;
|
||||||
|
int normal = 1_000_000;
|
||||||
|
long big = 123_456_789_012L;
|
||||||
|
|
||||||
|
// Системы счисления:
|
||||||
|
int decimal = 255; // 10-я
|
||||||
|
int hex = 0xFF; // 16-я (префикс 0x)
|
||||||
|
int binary = 0b1111_1111; // 2-я (префикс 0b)
|
||||||
|
int octal = 0377; // 8-я (ведущий 0)
|
||||||
|
|
||||||
|
// Подчёркивания для читаемости
|
||||||
|
int million = 1_000_000;
|
||||||
|
```
|
||||||
|
|
||||||
|
**Константы** (`final`) — значение нельзя изменить после инициализации:
|
||||||
|
|
||||||
|
```java
|
||||||
|
final int MAX_SCORE = 100;
|
||||||
|
// MAX_SCORE = 200; // ошибка компиляции
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Ввод целых чисел (класс `Scanner`)
|
||||||
|
|
||||||
|
Самый простой способ — `java.util.Scanner`.
|
||||||
|
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class InputDemo {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
|
||||||
|
System.out.print("Введите целое число: ");
|
||||||
|
int n = sc.nextInt(); // читает int
|
||||||
|
|
||||||
|
System.out.print("Введите длинное число: ");
|
||||||
|
long L = sc.nextLong(); // читает long
|
||||||
|
|
||||||
|
System.out.print("Введите байт: ");
|
||||||
|
byte b = sc.nextByte();
|
||||||
|
|
||||||
|
System.out.println(String.format("Вы ввели: %d, %d, %d", n, L, b));
|
||||||
|
sc.close();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Для чтения из файла/строки можно использовать `Scanner(new File("input.txt"))` или `BufferedReader`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Вывод целых чисел
|
||||||
|
|
||||||
|
```java
|
||||||
|
int x = 42;
|
||||||
|
|
||||||
|
// Если нужно вывести только число — подходит обычный println:
|
||||||
|
System.out.println(x); // 42
|
||||||
|
|
||||||
|
// Когда нужен текст или форматирование — String.format:
|
||||||
|
System.out.println(String.format("x = %d", x));
|
||||||
|
|
||||||
|
// Форматирование в разных системах счисления:
|
||||||
|
System.out.println(String.format("hex = %x, bin = %s",
|
||||||
|
255, Integer.toBinaryString(255)));
|
||||||
|
// hex = ff, bin = 11111111
|
||||||
|
|
||||||
|
// Выравнивание и ширина поля:
|
||||||
|
System.out.println(String.format("|%5d|", 42)); // | 42|
|
||||||
|
System.out.println(String.format("|%-5d|", 42)); // |42 |
|
||||||
|
System.out.println(String.format("|%05d|", 42)); // |00042|
|
||||||
|
```
|
||||||
|
|
||||||
|
Часто используемые спецификаторы `String.format`:
|
||||||
|
|
||||||
|
| Спецификатор | Смысл |
|
||||||
|
|--------------|-------|
|
||||||
|
| `%d` | целое в 10-й системе |
|
||||||
|
| `%x` | 16-я система |
|
||||||
|
| `%o` | 8-я система |
|
||||||
|
| `%05d` | целое с ведущими нулями, ширина 5 |
|
||||||
|
| `%n` | перевод строки (переносимый) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Основные операции
|
||||||
|
|
||||||
|
### 6.1 Арифметические
|
||||||
|
|
||||||
|
```java
|
||||||
|
int a = 17, b = 5;
|
||||||
|
System.out.println(a + b); // 22
|
||||||
|
System.out.println(a - b); // 12
|
||||||
|
System.out.println(a * b); // 85
|
||||||
|
System.out.println(a / b); // 3 — ЦЕЛОЧИСЛЕННОЕ деление
|
||||||
|
System.out.println(a % b); // 2 — остаток от деления
|
||||||
|
```
|
||||||
|
|
||||||
|
> ⚠️ Деление целых чисел **отбрасывает дробную часть**, а не округляет: `7 / 2 == 3`, `-7 / 2 == -3` (округление к нулю).
|
||||||
|
|
||||||
|
### 6.2 Операции присваивания
|
||||||
|
|
||||||
|
```java
|
||||||
|
int x = 10;
|
||||||
|
x += 5; // x = 15
|
||||||
|
x -= 3; // x = 12
|
||||||
|
x *= 2; // x = 24
|
||||||
|
x /= 4; // x = 6
|
||||||
|
x %= 4; // x = 2
|
||||||
|
x++; // x = 3
|
||||||
|
x--; // x = 2
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6.3 Сравнение
|
||||||
|
|
||||||
|
```java
|
||||||
|
int p = 5, q = 7;
|
||||||
|
boolean r1 = p == q; // false
|
||||||
|
boolean r2 = p != q; // true
|
||||||
|
boolean r3 = p < q; // true
|
||||||
|
boolean r4 = p >= q; // false
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6.4 Побитовые операции
|
||||||
|
|
||||||
|
```java
|
||||||
|
int m = 0b1100; // 12
|
||||||
|
int n = 0b1010; // 10
|
||||||
|
System.out.println(m & n); // 8
|
||||||
|
System.out.println(m | n); // 14
|
||||||
|
System.out.println(m ^ n); // 6
|
||||||
|
System.out.println(~m); // -13
|
||||||
|
System.out.println(m << 1); // 24 (сдвиг влево = ×2)
|
||||||
|
System.out.println(m >> 1); // 6 (сдвиг вправо)
|
||||||
|
System.out.println(m >>> 1); // 6 (беззнаковый сдвиг)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6.5 Приведение типов
|
||||||
|
|
||||||
|
**Автоматическое** (расширяющее) — от меньшего к большему:
|
||||||
|
|
||||||
|
```java
|
||||||
|
byte b = 100;
|
||||||
|
int i = b; // ок
|
||||||
|
long l = i; // ок
|
||||||
|
```
|
||||||
|
|
||||||
|
**Явное** (сужающее) — от большего к меньшему, возможна потеря данных:
|
||||||
|
|
||||||
|
```java
|
||||||
|
int big = 300;
|
||||||
|
byte small = (byte) big; // 300 % 256 = 44 (переполнение)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Переполнение** — опасная ситуация: `int` не может выйти за пределы диапазона и «зацикливается»:
|
||||||
|
|
||||||
|
```java
|
||||||
|
int max = Integer.MAX_VALUE;
|
||||||
|
System.out.println(max + 1); // -2147483648
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. Критерии применимости целых чисел
|
||||||
|
|
||||||
|
Используйте целочисленный тип, если:
|
||||||
|
|
||||||
|
1. **Величина по своей природе дискретна** — количество, индекс, счётчик.
|
||||||
|
2. **Нужна точность без округлений** — деньги (лучше в копейках), ID, временные метки.
|
||||||
|
3. **Выполняются операции над целыми** — деление нацело, остаток, битовые сдвиги.
|
||||||
|
4. **Важна производительность** — целочисленная арифметика быстрее вещественной.
|
||||||
|
5. **Нужна экономия памяти** — например, `byte[]` для большого массива.
|
||||||
|
|
||||||
|
**Не используйте целые числа**, если:
|
||||||
|
|
||||||
|
- величина непрерывна (расстояние, температура, вес) — берите `double`/`float`;
|
||||||
|
- нужна высокая точность над дробными числами — `BigDecimal`.
|
||||||
|
|
||||||
|
**Выбор типа:**
|
||||||
|
|
||||||
|
- по умолчанию — `int`;
|
||||||
|
- если значения > 2·10⁹ или работа со временем в мс — `long`;
|
||||||
|
- для больших массивов малых чисел — `byte`/`short`;
|
||||||
|
- для чисел, не помещающихся ни в один примитив (> 9.2·10¹⁸) — `BigInteger`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. Классы стандартной библиотеки
|
||||||
|
|
||||||
|
### 8.1 Классы-обёртки: `Integer`, `Long`, `Short`, `Byte`
|
||||||
|
|
||||||
|
Каждому примитиву соответствует класс-обёртка. Нужен для:
|
||||||
|
|
||||||
|
- хранения в коллекциях (`ArrayList<Integer>`);
|
||||||
|
- использования полезных методов;
|
||||||
|
- `null`-значений (например, «значение отсутствует»).
|
||||||
|
|
||||||
|
```java
|
||||||
|
Integer obj = 42; // автоупаковка (autoboxing)
|
||||||
|
int prim = obj; // автораспаковка (unboxing)
|
||||||
|
|
||||||
|
// Полезные методы (там, где выводится только число — println):
|
||||||
|
System.out.println(Integer.MAX_VALUE); // 2147483647
|
||||||
|
System.out.println(Integer.MIN_VALUE); // -2147483648
|
||||||
|
System.out.println(Integer.parseInt("123")); // 123
|
||||||
|
System.out.println(Integer.compare(3, 5)); // -1
|
||||||
|
System.out.println(Integer.max(3, 5)); // 5
|
||||||
|
System.out.println(Integer.sum(3, 5)); // 8
|
||||||
|
System.out.println(Integer.bitCount(7)); // 3
|
||||||
|
System.out.println(Integer.numberOfLeadingZeros(1)); // 31
|
||||||
|
|
||||||
|
// Там, где результат — строка — String.format:
|
||||||
|
System.out.println(String.format("%s", Integer.toBinaryString(10))); // 1010
|
||||||
|
System.out.println(String.format("%s", Integer.toHexString(255))); // ff
|
||||||
|
```
|
||||||
|
|
||||||
|
> ⚠️ Сравнивайте объекты-обёртки через `.equals()`, а не `==`:
|
||||||
|
> ```java
|
||||||
|
> Integer a = 1000, b = 1000;
|
||||||
|
> System.out.println(a == b); // false (разные объекты)
|
||||||
|
> System.out.println(a.equals(b)); // true
|
||||||
|
> ```
|
||||||
|
> Кэш `Integer` работает только для значений от −128 до 127, поэтому `Integer a = 100; Integer b = 100; a == b` даст `true`, но для 1000 — уже `false`.
|
||||||
|
|
||||||
|
### 8.2 `BigInteger` — для чисел произвольной длины
|
||||||
|
|
||||||
|
Когда `long` недостаточно (факториалы, криптография, длинная арифметика):
|
||||||
|
|
||||||
|
```java
|
||||||
|
import java.math.BigInteger;
|
||||||
|
|
||||||
|
BigInteger a = new BigInteger("123456789012345678901234567890");
|
||||||
|
BigInteger b = BigInteger.valueOf(987654321L);
|
||||||
|
|
||||||
|
System.out.println(a.add(b)); // сложение
|
||||||
|
System.out.println(a.subtract(b)); // вычитание
|
||||||
|
System.out.println(a.multiply(b)); // умножение
|
||||||
|
System.out.println(a.divide(b)); // деление
|
||||||
|
System.out.println(a.mod(b)); // остаток
|
||||||
|
System.out.println(a.pow(2)); // возведение в степень
|
||||||
|
System.out.println(a.gcd(b)); // НОД
|
||||||
|
|
||||||
|
// Факториал 100:
|
||||||
|
BigInteger fact = BigInteger.ONE;
|
||||||
|
for (int i = 2; i <= 100; i++)
|
||||||
|
fact = fact.multiply(BigInteger.valueOf(i));
|
||||||
|
System.out.println(fact);
|
||||||
|
```
|
||||||
|
|
||||||
|
`BigInteger` **иммутабелен** — операции возвращают новый объект, а не меняют исходный.
|
||||||
|
|
||||||
|
### 8.3 `Math` — математические функции
|
||||||
|
|
||||||
|
Работает с `double`, но есть методы и для целых:
|
||||||
|
|
||||||
|
```java
|
||||||
|
System.out.println(Math.abs(-7)); // 7
|
||||||
|
System.out.println(Math.max(3, 8)); // 8
|
||||||
|
System.out.println(Math.min(3, 8)); // 3
|
||||||
|
|
||||||
|
// Math.pow / Math.sqrt возвращают double — для форматирования используем String.format:
|
||||||
|
System.out.println(String.format("%.1f", Math.pow(2, 10))); // 1024.0
|
||||||
|
System.out.println(String.format("%.1f", Math.sqrt(144))); // 12.0
|
||||||
|
```
|
||||||
|
|
||||||
|
### 8.4 `Random` — генерация случайных чисел
|
||||||
|
|
||||||
|
```java
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
Random rnd = new Random();
|
||||||
|
int r1 = rnd.nextInt(); // любое int
|
||||||
|
int r2 = rnd.nextInt(100); // [0, 100)
|
||||||
|
int r3 = rnd.nextInt(50) + 1; // [1, 50]
|
||||||
|
|
||||||
|
System.out.println(r2);
|
||||||
|
System.out.println(r3);
|
||||||
|
|
||||||
|
// Начиная с Java 17 — RandomGenerator:
|
||||||
|
// int r = java.util.random.RandomGenerator.getDefault().nextInt(1, 101);
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. Мини-пример: сумма цифр числа
|
||||||
|
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class SumDigits {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
System.out.print("Введите целое число: ");
|
||||||
|
long n = Math.abs(sc.nextLong());
|
||||||
|
|
||||||
|
int sum = 0;
|
||||||
|
while (n > 0) {
|
||||||
|
sum += (int)(n % 10); // последняя цифра
|
||||||
|
n /= 10; // отбрасываем её
|
||||||
|
}
|
||||||
|
System.out.println(sum);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Здесь задействованы: `long`, `%` и `/`, приведение типов, ввод/вывод, `Math.abs`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 10. Типичные ошибки
|
||||||
|
|
||||||
|
| Ошибка | Как избежать |
|
||||||
|
|--------|--------------|
|
||||||
|
| Деление нацело вместо дробного | Привести один операнд: `(double) a / b` |
|
||||||
|
| Переполнение `int` | Использовать `long` или `Math.addExact` (бросает исключение) |
|
||||||
|
| Сравнение обёрток через `==` | Использовать `.equals()` |
|
||||||
|
| Забыть `L` у большого литерала | `long x = 3000000000L;` |
|
||||||
|
| `NullPointerException` при распаковке | Проверять на `null` перед присваиванием в примитив |
|
||||||
|
| Потеря точности при `(int) longValue` | Проверять диапазон или использовать `Math.toIntExact` |
|
||||||
|
|
||||||
|
```java
|
||||||
|
// Безопасные операции (Java 8+):
|
||||||
|
int sum = Math.addExact(1_000_000_000, 1_000_000_000); // ArithmeticException
|
||||||
|
int prod = Math.multiplyExact(100_000, 100_000); // исключение
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 11. Итоги
|
||||||
|
|
||||||
|
- В Java 4 примитивных целочисленных типа; основной — `int`, для больших значений — `long`.
|
||||||
|
- По умолчанию целые литералы — `int`, для `long` нужен суффикс `L`.
|
||||||
|
- Деление целых **отбрасывает** дробную часть, остаток даёт `%`.
|
||||||
|
- Для чисел > 9.2·10¹⁸ используйте `BigInteger`.
|
||||||
|
- Для коллекций и `null` — классы-обёртки (`Integer`, `Long`, ...).
|
||||||
|
- Всегда проверяйте возможность **переполнения** и корректность приведения типов.
|
||||||
|
|
||||||
@@ -0,0 +1,267 @@
|
|||||||
|
<h1 id="задач-по-теме-целые-числа-на-java">10 задач по теме «Целые
|
||||||
|
числа» на Java</h1>
|
||||||
|
<p>Все решения используют только арифметические операторы
|
||||||
|
(<code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>,
|
||||||
|
<code>%</code>) и стандартный ввод/вывод. Без <code>if</code>,
|
||||||
|
<code>for</code>, <code>while</code>, <code>switch</code> и без создания
|
||||||
|
собственных функций.</p>
|
||||||
|
<hr />
|
||||||
|
<h2 id="задача-1.-сумма-и-произведение-цифр-двузначного-числа">Задача 1.
|
||||||
|
Сумма и произведение цифр двузначного числа</h2>
|
||||||
|
<p><strong>Условие:</strong> Дано двузначное число. Найти сумму и
|
||||||
|
произведение его цифр.</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><strong>Ввод:</strong></th>
|
||||||
|
<th><strong>Вывод:</strong></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>47</td>
|
||||||
|
<td>11 28</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><strong>Решение:</strong></p>
|
||||||
|
<div class="sourceCode" id="cb1"><pre
|
||||||
|
class="sourceCode java"><code class="sourceCode java"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="kw">import</span> <span class="im">java</span><span class="op">.</span><span class="im">util</span><span class="op">.</span><span class="im">Scanner</span><span class="op">;</span></span>
|
||||||
|
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||||
|
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="kw">public</span> <span class="kw">class</span> Task1 <span class="op">{</span></span>
|
||||||
|
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">public</span> <span class="dt">static</span> <span class="dt">void</span> <span class="fu">main</span><span class="op">(</span><span class="bu">String</span><span class="op">[]</span> args<span class="op">)</span> <span class="op">{</span></span>
|
||||||
|
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">Scanner</span> sc <span class="op">=</span> <span class="kw">new</span> <span class="bu">Scanner</span><span class="op">(</span><span class="bu">System</span><span class="op">.</span><span class="fu">in</span><span class="op">);</span></span>
|
||||||
|
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> n <span class="op">=</span> sc<span class="op">.</span><span class="fu">nextInt</span><span class="op">();</span></span>
|
||||||
|
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> a <span class="op">=</span> n <span class="op">/</span> <span class="dv">10</span><span class="op">;</span></span>
|
||||||
|
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> b <span class="op">=</span> n <span class="op">%</span> <span class="dv">10</span><span class="op">;</span></span>
|
||||||
|
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>a <span class="op">+</span> b<span class="op">);</span></span>
|
||||||
|
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>a <span class="op">*</span> b<span class="op">);</span></span>
|
||||||
|
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
|
||||||
|
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span></code></pre></div>
|
||||||
|
<hr />
|
||||||
|
<h2 id="задача-2.-число-обратное-двузначному">Задача 2. Число, обратное
|
||||||
|
двузначному</h2>
|
||||||
|
<p><strong>Условие:</strong> Дано двузначное число. Получить число,
|
||||||
|
записанное теми же цифрами в обратном порядке.</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><strong>Ввод:</strong></th>
|
||||||
|
<th><strong>Вывод:</strong></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>47</td>
|
||||||
|
<td>74</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><strong>Решение:</strong></p>
|
||||||
|
<div class="sourceCode" id="cb2"><pre
|
||||||
|
class="sourceCode java"><code class="sourceCode java"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="kw">import</span> <span class="im">java</span><span class="op">.</span><span class="im">util</span><span class="op">.</span><span class="im">Scanner</span><span class="op">;</span></span>
|
||||||
|
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||||
|
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a><span class="kw">public</span> <span class="kw">class</span> Task2 <span class="op">{</span></span>
|
||||||
|
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">public</span> <span class="dt">static</span> <span class="dt">void</span> <span class="fu">main</span><span class="op">(</span><span class="bu">String</span><span class="op">[]</span> args<span class="op">)</span> <span class="op">{</span></span>
|
||||||
|
<span id="cb2-5"><a href="#cb2-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">Scanner</span> sc <span class="op">=</span> <span class="kw">new</span> <span class="bu">Scanner</span><span class="op">(</span><span class="bu">System</span><span class="op">.</span><span class="fu">in</span><span class="op">);</span></span>
|
||||||
|
<span id="cb2-6"><a href="#cb2-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> n <span class="op">=</span> sc<span class="op">.</span><span class="fu">nextInt</span><span class="op">();</span></span>
|
||||||
|
<span id="cb2-7"><a href="#cb2-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> result <span class="op">=</span> <span class="op">(</span>n <span class="op">%</span> <span class="dv">10</span><span class="op">)</span> <span class="op">*</span> <span class="dv">10</span> <span class="op">+</span> <span class="op">(</span>n <span class="op">/</span> <span class="dv">10</span><span class="op">);</span></span>
|
||||||
|
<span id="cb2-8"><a href="#cb2-8" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>result<span class="op">);</span></span>
|
||||||
|
<span id="cb2-9"><a href="#cb2-9" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
|
||||||
|
<span id="cb2-10"><a href="#cb2-10" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span></code></pre></div>
|
||||||
|
<hr />
|
||||||
|
<h2 id="задача-3.-сумма-цифр-трёхзначного-числа">Задача 3. Сумма цифр
|
||||||
|
трёхзначного числа</h2>
|
||||||
|
<p><strong>Условие:</strong> Дано трёхзначное число. Найти сумму его
|
||||||
|
цифр.</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><strong>Ввод:</strong></th>
|
||||||
|
<th><strong>Вывод:</strong></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>385</td>
|
||||||
|
<td>16</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><strong>Решение:</strong></p>
|
||||||
|
<div class="sourceCode" id="cb3"><pre
|
||||||
|
class="sourceCode java"><code class="sourceCode java"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="kw">import</span> <span class="im">java</span><span class="op">.</span><span class="im">util</span><span class="op">.</span><span class="im">Scanner</span><span class="op">;</span></span>
|
||||||
|
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||||
|
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a><span class="kw">public</span> <span class="kw">class</span> Task3 <span class="op">{</span></span>
|
||||||
|
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">public</span> <span class="dt">static</span> <span class="dt">void</span> <span class="fu">main</span><span class="op">(</span><span class="bu">String</span><span class="op">[]</span> args<span class="op">)</span> <span class="op">{</span></span>
|
||||||
|
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">Scanner</span> sc <span class="op">=</span> <span class="kw">new</span> <span class="bu">Scanner</span><span class="op">(</span><span class="bu">System</span><span class="op">.</span><span class="fu">in</span><span class="op">);</span></span>
|
||||||
|
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> n <span class="op">=</span> sc<span class="op">.</span><span class="fu">nextInt</span><span class="op">();</span></span>
|
||||||
|
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> sum <span class="op">=</span> n <span class="op">/</span> <span class="dv">100</span> <span class="op">+</span> <span class="op">(</span>n <span class="op">/</span> <span class="dv">10</span><span class="op">)</span> <span class="op">%</span> <span class="dv">10</span> <span class="op">+</span> n <span class="op">%</span> <span class="dv">10</span><span class="op">;</span></span>
|
||||||
|
<span id="cb3-8"><a href="#cb3-8" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>sum<span class="op">);</span></span>
|
||||||
|
<span id="cb3-9"><a href="#cb3-9" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
|
||||||
|
<span id="cb3-10"><a href="#cb3-10" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span></code></pre></div>
|
||||||
|
<hr />
|
||||||
|
<h2 id="задача-4.-перевод-секунд-в-часы-минуты-и-секунды">Задача 4.
|
||||||
|
Перевод секунд в часы, минуты и секунды</h2>
|
||||||
|
<p><strong>Условие:</strong> Дано целое число секунд <code>t</code>.
|
||||||
|
Перевести в часы, минуты и секунды.</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><strong>Ввод:</strong></th>
|
||||||
|
<th><strong>Вывод:</strong></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>7265</td>
|
||||||
|
<td>2 1 5</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><strong>Решение:</strong></p>
|
||||||
|
<div class="sourceCode" id="cb4"><pre
|
||||||
|
class="sourceCode java"><code class="sourceCode java"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="kw">import</span> <span class="im">java</span><span class="op">.</span><span class="im">util</span><span class="op">.</span><span class="im">Scanner</span><span class="op">;</span></span>
|
||||||
|
<span id="cb4-2"><a href="#cb4-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||||
|
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="kw">public</span> <span class="kw">class</span> Task4 <span class="op">{</span></span>
|
||||||
|
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">public</span> <span class="dt">static</span> <span class="dt">void</span> <span class="fu">main</span><span class="op">(</span><span class="bu">String</span><span class="op">[]</span> args<span class="op">)</span> <span class="op">{</span></span>
|
||||||
|
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">Scanner</span> sc <span class="op">=</span> <span class="kw">new</span> <span class="bu">Scanner</span><span class="op">(</span><span class="bu">System</span><span class="op">.</span><span class="fu">in</span><span class="op">);</span></span>
|
||||||
|
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> t <span class="op">=</span> sc<span class="op">.</span><span class="fu">nextInt</span><span class="op">();</span></span>
|
||||||
|
<span id="cb4-7"><a href="#cb4-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> h <span class="op">=</span> t <span class="op">/</span> <span class="dv">3600</span><span class="op">;</span></span>
|
||||||
|
<span id="cb4-8"><a href="#cb4-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> m <span class="op">=</span> <span class="op">(</span>t <span class="op">%</span> <span class="dv">3600</span><span class="op">)</span> <span class="op">/</span> <span class="dv">60</span><span class="op">;</span></span>
|
||||||
|
<span id="cb4-9"><a href="#cb4-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> s <span class="op">=</span> t <span class="op">%</span> <span class="dv">60</span><span class="op">;</span></span>
|
||||||
|
<span id="cb4-10"><a href="#cb4-10" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>h<span class="op">);</span></span>
|
||||||
|
<span id="cb4-11"><a href="#cb4-11" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>m<span class="op">);</span></span>
|
||||||
|
<span id="cb4-12"><a href="#cb4-12" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>s<span class="op">);</span></span>
|
||||||
|
<span id="cb4-13"><a href="#cb4-13" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
|
||||||
|
<span id="cb4-14"><a href="#cb4-14" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span></code></pre></div>
|
||||||
|
<hr />
|
||||||
|
<h2 id="задача-5.-последняя-цифра-числа-в-степени">Задача 5. Последняя
|
||||||
|
цифра числа в степени</h2>
|
||||||
|
<p><strong>Условие:</strong> Дано число <code>n</code>. Найти последнюю
|
||||||
|
цифру числа <code>n²</code>.</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><strong>Ввод:</strong></th>
|
||||||
|
<th><strong>Вывод:</strong></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>37</td>
|
||||||
|
<td></td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><strong>Решение:</strong></p>
|
||||||
|
<div class="sourceCode" id="cb5"><pre
|
||||||
|
class="sourceCode java"><code class="sourceCode java"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="kw">import</span> <span class="im">java</span><span class="op">.</span><span class="im">util</span><span class="op">.</span><span class="im">Scanner</span><span class="op">;</span></span>
|
||||||
|
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||||
|
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a><span class="kw">public</span> <span class="kw">class</span> Task5 <span class="op">{</span></span>
|
||||||
|
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">public</span> <span class="dt">static</span> <span class="dt">void</span> <span class="fu">main</span><span class="op">(</span><span class="bu">String</span><span class="op">[]</span> args<span class="op">)</span> <span class="op">{</span></span>
|
||||||
|
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">Scanner</span> sc <span class="op">=</span> <span class="kw">new</span> <span class="bu">Scanner</span><span class="op">(</span><span class="bu">System</span><span class="op">.</span><span class="fu">in</span><span class="op">);</span></span>
|
||||||
|
<span id="cb5-6"><a href="#cb5-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> n <span class="op">=</span> sc<span class="op">.</span><span class="fu">nextInt</span><span class="op">();</span></span>
|
||||||
|
<span id="cb5-7"><a href="#cb5-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> last <span class="op">=</span> n <span class="op">%</span> <span class="dv">10</span><span class="op">;</span></span>
|
||||||
|
<span id="cb5-8"><a href="#cb5-8" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">((</span>last <span class="op">*</span> last <span class="op">*</span> last <span class="op">*</span> last<span class="op">)</span> <span class="op">%</span> <span class="dv">10</span><span class="op">);</span></span>
|
||||||
|
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
|
||||||
|
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span></code></pre></div>
|
||||||
|
<hr />
|
||||||
|
<h2
|
||||||
|
id="задача-7.-обмен-цифр-трёхзначного-числа-циклический-сдвиг">Задача 7.
|
||||||
|
Обмен цифр трёхзначного числа (циклический сдвиг)</h2>
|
||||||
|
<p><strong>Условие:</strong> Дано трёхзначное число <code>abc</code>.
|
||||||
|
Получить число <code>bca</code> (первую цифру в конец).</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><strong>Ввод:</strong></th>
|
||||||
|
<th><strong>Вывод:</strong></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>385</td>
|
||||||
|
<td>853</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><strong>Решение:</strong></p>
|
||||||
|
<div class="sourceCode" id="cb6"><pre
|
||||||
|
class="sourceCode java"><code class="sourceCode java"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="kw">import</span> <span class="im">java</span><span class="op">.</span><span class="im">util</span><span class="op">.</span><span class="im">Scanner</span><span class="op">;</span></span>
|
||||||
|
<span id="cb6-2"><a href="#cb6-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||||
|
<span id="cb6-3"><a href="#cb6-3" aria-hidden="true" tabindex="-1"></a><span class="kw">public</span> <span class="kw">class</span> Task7 <span class="op">{</span></span>
|
||||||
|
<span id="cb6-4"><a href="#cb6-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">public</span> <span class="dt">static</span> <span class="dt">void</span> <span class="fu">main</span><span class="op">(</span><span class="bu">String</span><span class="op">[]</span> args<span class="op">)</span> <span class="op">{</span></span>
|
||||||
|
<span id="cb6-5"><a href="#cb6-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">Scanner</span> sc <span class="op">=</span> <span class="kw">new</span> <span class="bu">Scanner</span><span class="op">(</span><span class="bu">System</span><span class="op">.</span><span class="fu">in</span><span class="op">);</span></span>
|
||||||
|
<span id="cb6-6"><a href="#cb6-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> n <span class="op">=</span> sc<span class="op">.</span><span class="fu">nextInt</span><span class="op">();</span></span>
|
||||||
|
<span id="cb6-7"><a href="#cb6-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> a <span class="op">=</span> n <span class="op">/</span> <span class="dv">100</span><span class="op">;</span></span>
|
||||||
|
<span id="cb6-8"><a href="#cb6-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> b <span class="op">=</span> <span class="op">(</span>n <span class="op">/</span> <span class="dv">10</span><span class="op">)</span> <span class="op">%</span> <span class="dv">10</span><span class="op">;</span></span>
|
||||||
|
<span id="cb6-9"><a href="#cb6-9" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> c <span class="op">=</span> n <span class="op">%</span> <span class="dv">10</span><span class="op">;</span></span>
|
||||||
|
<span id="cb6-10"><a href="#cb6-10" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> result <span class="op">=</span> b <span class="op">*</span> <span class="dv">100</span> <span class="op">+</span> c <span class="op">*</span> <span class="dv">10</span> <span class="op">+</span> a<span class="op">;</span></span>
|
||||||
|
<span id="cb6-11"><a href="#cb6-11" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>result<span class="op">);</span></span>
|
||||||
|
<span id="cb6-12"><a href="#cb6-12" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
|
||||||
|
<span id="cb6-13"><a href="#cb6-13" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span></code></pre></div>
|
||||||
|
<hr />
|
||||||
|
<h2 id="задача-8.-сумма-цифр-четырёхзначного-числа">Задача 8. Сумма цифр
|
||||||
|
четырёхзначного числа</h2>
|
||||||
|
<p><strong>Условие:</strong> Дано четырёхзначное число. Найти сумму его
|
||||||
|
цифр.</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><strong>Ввод:</strong></th>
|
||||||
|
<th><strong>Вывод:</strong></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>1234</td>
|
||||||
|
<td>10</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><strong>Решение:</strong></p>
|
||||||
|
<div class="sourceCode" id="cb7"><pre
|
||||||
|
class="sourceCode java"><code class="sourceCode java"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="kw">import</span> <span class="im">java</span><span class="op">.</span><span class="im">util</span><span class="op">.</span><span class="im">Scanner</span><span class="op">;</span></span>
|
||||||
|
<span id="cb7-2"><a href="#cb7-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||||
|
<span id="cb7-3"><a href="#cb7-3" aria-hidden="true" tabindex="-1"></a><span class="kw">public</span> <span class="kw">class</span> Task8 <span class="op">{</span></span>
|
||||||
|
<span id="cb7-4"><a href="#cb7-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">public</span> <span class="dt">static</span> <span class="dt">void</span> <span class="fu">main</span><span class="op">(</span><span class="bu">String</span><span class="op">[]</span> args<span class="op">)</span> <span class="op">{</span></span>
|
||||||
|
<span id="cb7-5"><a href="#cb7-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">Scanner</span> sc <span class="op">=</span> <span class="kw">new</span> <span class="bu">Scanner</span><span class="op">(</span><span class="bu">System</span><span class="op">.</span><span class="fu">in</span><span class="op">);</span></span>
|
||||||
|
<span id="cb7-6"><a href="#cb7-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> n <span class="op">=</span> sc<span class="op">.</span><span class="fu">nextInt</span><span class="op">();</span></span>
|
||||||
|
<span id="cb7-7"><a href="#cb7-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> sum <span class="op">=</span> n <span class="op">/</span> <span class="dv">1000</span> <span class="op">+</span> <span class="op">(</span>n <span class="op">/</span> <span class="dv">100</span><span class="op">)</span> <span class="op">%</span> <span class="dv">10</span> <span class="op">+</span> <span class="op">(</span>n <span class="op">/</span> <span class="dv">10</span><span class="op">)</span> <span class="op">%</span> <span class="dv">10</span> <span class="op">+</span> n <span class="op">%</span> <span class="dv">10</span><span class="op">;</span></span>
|
||||||
|
<span id="cb7-8"><a href="#cb7-8" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>sum<span class="op">);</span></span>
|
||||||
|
<span id="cb7-9"><a href="#cb7-9" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
|
||||||
|
<span id="cb7-10"><a href="#cb7-10" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span></code></pre></div>
|
||||||
|
<hr />
|
||||||
|
<h2 id="задача-9.-количество-полных-минут-в-сутках">Задача 9. Количество
|
||||||
|
полных минут в сутках</h2>
|
||||||
|
<p><strong>Условие:</strong> Дано число минут <code>m</code>. Найти
|
||||||
|
количество полных суток и остаток минут.</p>
|
||||||
|
<table>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th><strong>Ввод:</strong></th>
|
||||||
|
<th><strong>Вывод:</strong></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td>5000</td>
|
||||||
|
<td>3 680</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p><strong>Решение:</strong></p>
|
||||||
|
<div class="sourceCode" id="cb8"><pre
|
||||||
|
class="sourceCode java"><code class="sourceCode java"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="kw">import</span> <span class="im">java</span><span class="op">.</span><span class="im">util</span><span class="op">.</span><span class="im">Scanner</span><span class="op">;</span></span>
|
||||||
|
<span id="cb8-2"><a href="#cb8-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||||
|
<span id="cb8-3"><a href="#cb8-3" aria-hidden="true" tabindex="-1"></a><span class="kw">public</span> <span class="kw">class</span> Task9 <span class="op">{</span></span>
|
||||||
|
<span id="cb8-4"><a href="#cb8-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">public</span> <span class="dt">static</span> <span class="dt">void</span> <span class="fu">main</span><span class="op">(</span><span class="bu">String</span><span class="op">[]</span> args<span class="op">)</span> <span class="op">{</span></span>
|
||||||
|
<span id="cb8-5"><a href="#cb8-5" aria-hidden="true" tabindex="-1"></a> <span class="bu">Scanner</span> sc <span class="op">=</span> <span class="kw">new</span> <span class="bu">Scanner</span><span class="op">(</span><span class="bu">System</span><span class="op">.</span><span class="fu">in</span><span class="op">);</span></span>
|
||||||
|
<span id="cb8-6"><a href="#cb8-6" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> m <span class="op">=</span> sc<span class="op">.</span><span class="fu">nextInt</span><span class="op">();</span></span>
|
||||||
|
<span id="cb8-7"><a href="#cb8-7" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> days <span class="op">=</span> m <span class="op">/</span> <span class="dv">1440</span><span class="op">;</span></span>
|
||||||
|
<span id="cb8-8"><a href="#cb8-8" aria-hidden="true" tabindex="-1"></a> <span class="dt">int</span> rest <span class="op">=</span> m <span class="op">%</span> <span class="dv">1440</span><span class="op">;</span></span>
|
||||||
|
<span id="cb8-9"><a href="#cb8-9" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>days<span class="op">);</span></span>
|
||||||
|
<span id="cb8-10"><a href="#cb8-10" aria-hidden="true" tabindex="-1"></a> <span class="bu">System</span><span class="op">.</span><span class="fu">out</span><span class="op">.</span><span class="fu">println</span><span class="op">(</span>rest<span class="op">);</span></span>
|
||||||
|
<span id="cb8-11"><a href="#cb8-11" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
|
||||||
|
<span id="cb8-12"><a href="#cb8-12" aria-hidden="true" tabindex="-1"></a><span class="op">}</span></span></code></pre></div>
|
||||||
@@ -0,0 +1,210 @@
|
|||||||
|
# 10 задач по теме «Целые числа» на Java
|
||||||
|
|
||||||
|
Все решения используют только арифметические операторы (`+`, `-`, `*`, `/`, `%`) и стандартный ввод/вывод. Без `if`, `for`, `while`, `switch` и без создания собственных функций.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 1. Сумма и произведение цифр двузначного числа
|
||||||
|
|
||||||
|
**Условие:** Дано двузначное число. Найти сумму и произведение его цифр.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 47 | 11 28 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task1 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int a = n / 10;
|
||||||
|
int b = n % 10;
|
||||||
|
System.out.println(a + b);
|
||||||
|
System.out.println(a * b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 2. Число, обратное двузначному
|
||||||
|
|
||||||
|
**Условие:** Дано двузначное число. Получить число, записанное теми же цифрами в обратном порядке.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 47 | 74 |
|
||||||
|
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task2 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int result = (n % 10) * 10 + (n / 10);
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 3. Сумма цифр трёхзначного числа
|
||||||
|
|
||||||
|
**Условие:** Дано трёхзначное число. Найти сумму его цифр.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 385 | 16 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task3 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int sum = n / 100 + (n / 10) % 10 + n % 10;
|
||||||
|
System.out.println(sum);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 4. Перевод секунд в часы, минуты и секунды
|
||||||
|
|
||||||
|
**Условие:** Дано целое число секунд `t`. Перевести в часы, минуты и секунды.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 7265 | 2 1 5 |
|
||||||
|
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task4 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int t = sc.nextInt();
|
||||||
|
int h = t / 3600;
|
||||||
|
int m = (t % 3600) / 60;
|
||||||
|
int s = t % 60;
|
||||||
|
System.out.println(h);
|
||||||
|
System.out.println(m);
|
||||||
|
System.out.println(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 5. Последняя цифра числа в степени
|
||||||
|
|
||||||
|
**Условие:** Дано число `n`. Найти последнюю цифру числа `n²`.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 37 | |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task5 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int last = n % 10;
|
||||||
|
System.out.println((last * last * last * last) % 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 7. Обмен цифр трёхзначного числа (циклический сдвиг)
|
||||||
|
|
||||||
|
**Условие:** Дано трёхзначное число `abc`. Получить число `bca` (первую цифру в конец).
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 385 | 853 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task7 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int a = n / 100;
|
||||||
|
int b = (n / 10) % 10;
|
||||||
|
int c = n % 10;
|
||||||
|
int result = b * 100 + c * 10 + a;
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 8. Сумма цифр четырёхзначного числа
|
||||||
|
|
||||||
|
**Условие:** Дано четырёхзначное число. Найти сумму его цифр.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 1234 | 10 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task8 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int sum = n / 1000 + (n / 100) % 10 + (n / 10) % 10 + n % 10;
|
||||||
|
System.out.println(sum);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 9. Количество полных минут в сутках
|
||||||
|
|
||||||
|
**Условие:** Дано число минут `m`. Найти количество полных суток и остаток минут.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 5000 | 3 680 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task9 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int m = sc.nextInt();
|
||||||
|
int days = m / 1440;
|
||||||
|
int rest = m % 1440;
|
||||||
|
System.out.println(days);
|
||||||
|
System.out.println(rest);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,220 @@
|
|||||||
|
# 10 задач по теме «Целые числа» на Java
|
||||||
|
|
||||||
|
Все решения используют только арифметические операторы (`+`, `-`, `*`,
|
||||||
|
`/`, `%`) и стандартный ввод/вывод. Без `if`, `for`, `while`, `switch` и
|
||||||
|
без создания собственных функций.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## Задача 1. Сумма и произведение цифр двузначного числа
|
||||||
|
|
||||||
|
**Условие:** Дано двузначное число. Найти сумму и произведение его цифр.
|
||||||
|
|
||||||
|
**Ввод:** **Вывод:**
|
||||||
|
----------- ------------
|
||||||
|
47 11 28
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
|
||||||
|
``` java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task1 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int a = n / 10;
|
||||||
|
int b = n % 10;
|
||||||
|
System.out.println(a + b);
|
||||||
|
System.out.println(a * b);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## Задача 2. Число, обратное двузначному
|
||||||
|
|
||||||
|
**Условие:** Дано двузначное число. Получить число, записанное теми же
|
||||||
|
цифрами в обратном порядке.
|
||||||
|
|
||||||
|
**Ввод:** **Вывод:**
|
||||||
|
----------- ------------
|
||||||
|
47 74
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
|
||||||
|
``` java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task2 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int result = (n % 10) * 10 + (n / 10);
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## Задача 3. Сумма цифр трёхзначного числа
|
||||||
|
|
||||||
|
**Условие:** Дано трёхзначное число. Найти сумму его цифр.
|
||||||
|
|
||||||
|
**Ввод:** **Вывод:**
|
||||||
|
----------- ------------
|
||||||
|
385 16
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
|
||||||
|
``` java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task3 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int sum = n / 100 + (n / 10) % 10 + n % 10;
|
||||||
|
System.out.println(sum);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## Задача 4. Перевод секунд в часы, минуты и секунды
|
||||||
|
|
||||||
|
**Условие:** Дано целое число секунд `t`. Перевести в часы, минуты и
|
||||||
|
секунды.
|
||||||
|
|
||||||
|
**Ввод:** **Вывод:**
|
||||||
|
----------- ------------
|
||||||
|
7265 2 1 5
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
|
||||||
|
``` java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task4 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int t = sc.nextInt();
|
||||||
|
int h = t / 3600;
|
||||||
|
int m = (t % 3600) / 60;
|
||||||
|
int s = t % 60;
|
||||||
|
System.out.println(h);
|
||||||
|
System.out.println(m);
|
||||||
|
System.out.println(s);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## Задача 5. Последняя цифра числа в степени
|
||||||
|
|
||||||
|
**Условие:** Дано число `n`. Найти последнюю цифру числа `n²`.
|
||||||
|
|
||||||
|
**Ввод:** **Вывод:**
|
||||||
|
----------- ------------
|
||||||
|
37
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
|
||||||
|
``` java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task5 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int last = n % 10;
|
||||||
|
System.out.println((last * last * last * last) % 10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## Задача 7. Обмен цифр трёхзначного числа (циклический сдвиг)
|
||||||
|
|
||||||
|
**Условие:** Дано трёхзначное число `abc`. Получить число `bca` (первую
|
||||||
|
цифру в конец).
|
||||||
|
|
||||||
|
**Ввод:** **Вывод:**
|
||||||
|
----------- ------------
|
||||||
|
385 853
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
|
||||||
|
``` java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task7 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int a = n / 100;
|
||||||
|
int b = (n / 10) % 10;
|
||||||
|
int c = n % 10;
|
||||||
|
int result = b * 100 + c * 10 + a;
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## Задача 8. Сумма цифр четырёхзначного числа
|
||||||
|
|
||||||
|
**Условие:** Дано четырёхзначное число. Найти сумму его цифр.
|
||||||
|
|
||||||
|
**Ввод:** **Вывод:**
|
||||||
|
----------- ------------
|
||||||
|
1234 10
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
|
||||||
|
``` java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task8 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int sum = n / 1000 + (n / 100) % 10 + (n / 10) % 10 + n % 10;
|
||||||
|
System.out.println(sum);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
------------------------------------------------------------------------
|
||||||
|
|
||||||
|
## Задача 9. Количество полных минут в сутках
|
||||||
|
|
||||||
|
**Условие:** Дано число минут `m`. Найти количество полных суток и
|
||||||
|
остаток минут.
|
||||||
|
|
||||||
|
**Ввод:** **Вывод:**
|
||||||
|
----------- ------------
|
||||||
|
5000 3 680
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
|
||||||
|
``` java
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task9 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int m = sc.nextInt();
|
||||||
|
int days = m / 1440;
|
||||||
|
int rest = m % 1440;
|
||||||
|
System.out.println(days);
|
||||||
|
System.out.println(rest);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -0,0 +1,377 @@
|
|||||||
|
<?xml version='1.0' ?>
|
||||||
|
<Pandoc api-version="1,23,1,2">
|
||||||
|
<meta />
|
||||||
|
<blocks>
|
||||||
|
<Header id="задач-по-теме-целые-числа-на-java" level="1">10 задач по теме «Целые числа» на Java</Header>
|
||||||
|
<Para>Все решения используют только арифметические операторы (<Code>+</Code>, <Code>-</Code>, <Code>*</Code>, <Code>/</Code>, <Code>%</Code>) и стандартный ввод/вывод. Без <Code>if</Code>, <Code>for</Code>, <Code>while</Code>, <Code>switch</Code> и без создания собственных функций.</Para>
|
||||||
|
<HorizontalRule />
|
||||||
|
<Header id="задача-1.-сумма-и-произведение-цифр-двузначного-числа" level="2">Задача 1. Сумма и произведение цифр двузначного числа</Header>
|
||||||
|
<Para><Strong>Условие:</Strong> Дано двузначное число. Найти сумму и произведение его цифр.</Para>
|
||||||
|
<Table>
|
||||||
|
<Caption />
|
||||||
|
<colspecs>
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
</colspecs>
|
||||||
|
<TableHead>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Ввод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Вывод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody row-head-columns="0">
|
||||||
|
<header />
|
||||||
|
<body>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>47</Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>11 28</Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</body>
|
||||||
|
</TableBody>
|
||||||
|
<TableFoot />
|
||||||
|
</Table>
|
||||||
|
<Para><Strong>Решение:</Strong></Para>
|
||||||
|
<CodeBlock class="java">import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task1 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int a = n / 10;
|
||||||
|
int b = n % 10;
|
||||||
|
System.out.println(a + b);
|
||||||
|
System.out.println(a * b);
|
||||||
|
}
|
||||||
|
}</CodeBlock>
|
||||||
|
<HorizontalRule />
|
||||||
|
<Header id="задача-2.-число-обратное-двузначному" level="2">Задача 2. Число, обратное двузначному</Header>
|
||||||
|
<Para><Strong>Условие:</Strong> Дано двузначное число. Получить число, записанное теми же цифрами в обратном порядке.</Para>
|
||||||
|
<Table>
|
||||||
|
<Caption />
|
||||||
|
<colspecs>
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
</colspecs>
|
||||||
|
<TableHead>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Ввод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Вывод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody row-head-columns="0">
|
||||||
|
<header />
|
||||||
|
<body>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>47</Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>74</Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</body>
|
||||||
|
</TableBody>
|
||||||
|
<TableFoot />
|
||||||
|
</Table>
|
||||||
|
<Para><Strong>Решение:</Strong></Para>
|
||||||
|
<CodeBlock class="java">import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task2 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int result = (n % 10) * 10 + (n / 10);
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}</CodeBlock>
|
||||||
|
<HorizontalRule />
|
||||||
|
<Header id="задача-3.-сумма-цифр-трёхзначного-числа" level="2">Задача 3. Сумма цифр трёхзначного числа</Header>
|
||||||
|
<Para><Strong>Условие:</Strong> Дано трёхзначное число. Найти сумму его цифр.</Para>
|
||||||
|
<Table>
|
||||||
|
<Caption />
|
||||||
|
<colspecs>
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
</colspecs>
|
||||||
|
<TableHead>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Ввод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Вывод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody row-head-columns="0">
|
||||||
|
<header />
|
||||||
|
<body>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>385</Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>16</Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</body>
|
||||||
|
</TableBody>
|
||||||
|
<TableFoot />
|
||||||
|
</Table>
|
||||||
|
<Para><Strong>Решение:</Strong></Para>
|
||||||
|
<CodeBlock class="java">import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task3 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int sum = n / 100 + (n / 10) % 10 + n % 10;
|
||||||
|
System.out.println(sum);
|
||||||
|
}
|
||||||
|
}</CodeBlock>
|
||||||
|
<HorizontalRule />
|
||||||
|
<Header id="задача-4.-перевод-секунд-в-часы-минуты-и-секунды" level="2">Задача 4. Перевод секунд в часы, минуты и секунды</Header>
|
||||||
|
<Para><Strong>Условие:</Strong> Дано целое число секунд <Code>t</Code>. Перевести в часы, минуты и секунды.</Para>
|
||||||
|
<Table>
|
||||||
|
<Caption />
|
||||||
|
<colspecs>
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
</colspecs>
|
||||||
|
<TableHead>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Ввод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Вывод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody row-head-columns="0">
|
||||||
|
<header />
|
||||||
|
<body>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>7265</Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>2 1 5</Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</body>
|
||||||
|
</TableBody>
|
||||||
|
<TableFoot />
|
||||||
|
</Table>
|
||||||
|
<Para><Strong>Решение:</Strong></Para>
|
||||||
|
<CodeBlock class="java">import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task4 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int t = sc.nextInt();
|
||||||
|
int h = t / 3600;
|
||||||
|
int m = (t % 3600) / 60;
|
||||||
|
int s = t % 60;
|
||||||
|
System.out.println(h);
|
||||||
|
System.out.println(m);
|
||||||
|
System.out.println(s);
|
||||||
|
}
|
||||||
|
}</CodeBlock>
|
||||||
|
<HorizontalRule />
|
||||||
|
<Header id="задача-5.-последняя-цифра-числа-в-степени" level="2">Задача 5. Последняя цифра числа в степени</Header>
|
||||||
|
<Para><Strong>Условие:</Strong> Дано число <Code>n</Code>. Найти последнюю цифру числа <Code>n²</Code>.</Para>
|
||||||
|
<Table>
|
||||||
|
<Caption />
|
||||||
|
<colspecs>
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
</colspecs>
|
||||||
|
<TableHead>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Ввод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Вывод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody row-head-columns="0">
|
||||||
|
<header />
|
||||||
|
<body>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>37</Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault" />
|
||||||
|
</Row>
|
||||||
|
</body>
|
||||||
|
</TableBody>
|
||||||
|
<TableFoot />
|
||||||
|
</Table>
|
||||||
|
<Para><Strong>Решение:</Strong></Para>
|
||||||
|
<CodeBlock class="java">import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task5 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int last = n % 10;
|
||||||
|
System.out.println((last * last * last * last) % 10);
|
||||||
|
}
|
||||||
|
}</CodeBlock>
|
||||||
|
<HorizontalRule />
|
||||||
|
<Header id="задача-7.-обмен-цифр-трёхзначного-числа-циклический-сдвиг" level="2">Задача 7. Обмен цифр трёхзначного числа (циклический сдвиг)</Header>
|
||||||
|
<Para><Strong>Условие:</Strong> Дано трёхзначное число <Code>abc</Code>. Получить число <Code>bca</Code> (первую цифру в конец).</Para>
|
||||||
|
<Table>
|
||||||
|
<Caption />
|
||||||
|
<colspecs>
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
</colspecs>
|
||||||
|
<TableHead>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Ввод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Вывод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody row-head-columns="0">
|
||||||
|
<header />
|
||||||
|
<body>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>385</Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>853</Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</body>
|
||||||
|
</TableBody>
|
||||||
|
<TableFoot />
|
||||||
|
</Table>
|
||||||
|
<Para><Strong>Решение:</Strong></Para>
|
||||||
|
<CodeBlock class="java">import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task7 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int a = n / 100;
|
||||||
|
int b = (n / 10) % 10;
|
||||||
|
int c = n % 10;
|
||||||
|
int result = b * 100 + c * 10 + a;
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}</CodeBlock>
|
||||||
|
<HorizontalRule />
|
||||||
|
<Header id="задача-8.-сумма-цифр-четырёхзначного-числа" level="2">Задача 8. Сумма цифр четырёхзначного числа</Header>
|
||||||
|
<Para><Strong>Условие:</Strong> Дано четырёхзначное число. Найти сумму его цифр.</Para>
|
||||||
|
<Table>
|
||||||
|
<Caption />
|
||||||
|
<colspecs>
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
</colspecs>
|
||||||
|
<TableHead>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Ввод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Вывод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody row-head-columns="0">
|
||||||
|
<header />
|
||||||
|
<body>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>1234</Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>10</Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</body>
|
||||||
|
</TableBody>
|
||||||
|
<TableFoot />
|
||||||
|
</Table>
|
||||||
|
<Para><Strong>Решение:</Strong></Para>
|
||||||
|
<CodeBlock class="java">import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task8 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int n = sc.nextInt();
|
||||||
|
int sum = n / 1000 + (n / 100) % 10 + (n / 10) % 10 + n % 10;
|
||||||
|
System.out.println(sum);
|
||||||
|
}
|
||||||
|
}</CodeBlock>
|
||||||
|
<HorizontalRule />
|
||||||
|
<Header id="задача-9.-количество-полных-минут-в-сутках" level="2">Задача 9. Количество полных минут в сутках</Header>
|
||||||
|
<Para><Strong>Условие:</Strong> Дано число минут <Code>m</Code>. Найти количество полных суток и остаток минут.</Para>
|
||||||
|
<Table>
|
||||||
|
<Caption />
|
||||||
|
<colspecs>
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
<ColSpec alignment="AlignDefault" col-width="0" />
|
||||||
|
</colspecs>
|
||||||
|
<TableHead>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Ввод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain><Strong>Вывод:</Strong></Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</TableHead>
|
||||||
|
<TableBody row-head-columns="0">
|
||||||
|
<header />
|
||||||
|
<body>
|
||||||
|
<Row>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>5000</Plain>
|
||||||
|
</Cell>
|
||||||
|
<Cell alignment="AlignDefault">
|
||||||
|
<Plain>3 680</Plain>
|
||||||
|
</Cell>
|
||||||
|
</Row>
|
||||||
|
</body>
|
||||||
|
</TableBody>
|
||||||
|
<TableFoot />
|
||||||
|
</Table>
|
||||||
|
<Para><Strong>Решение:</Strong></Para>
|
||||||
|
<CodeBlock class="java">import java.util.Scanner;
|
||||||
|
|
||||||
|
public class Task9 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner sc = new Scanner(System.in);
|
||||||
|
int m = sc.nextInt();
|
||||||
|
int days = m / 1440;
|
||||||
|
int rest = m % 1440;
|
||||||
|
System.out.println(days);
|
||||||
|
System.out.println(rest);
|
||||||
|
}
|
||||||
|
}</CodeBlock>
|
||||||
|
</blocks>
|
||||||
|
</Pandoc>
|
||||||
@@ -0,0 +1,175 @@
|
|||||||
|
# Задачи по побитовым операциям на Java
|
||||||
|
|
||||||
|
> **Условие:** без использования операторов выбора (`if`, `switch`, `?:`), циклов (`for`, `while`, `do`) и объявления новых функций. Только `main`, побитовые операции, арифметика и `System.out.println`.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 1. Умножить число на 4 без умножения
|
||||||
|
|
||||||
|
**Условие:** Дано целое число `n`. Получить `n * 4`, используя только побитовые операции.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 5 | 20 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
public class Task1 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int n = 5;
|
||||||
|
int result = n << 2; // сдвиг влево на 2 = умножение на 4
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 2. Разделить число на 2 без деления
|
||||||
|
|
||||||
|
**Условие:** Дано целое число `n`. Получить `n / 2`, используя только побитовые операции.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 20 | 10 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
public class Task2 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int n = 20;
|
||||||
|
int result = n >> 1; // сдвиг вправо на 1 = деление на 2
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 3. Проверить, чётное ли число
|
||||||
|
|
||||||
|
**Условие:** Дано целое число `n`. Вывести `1`, если оно чётное, и `0`, если нечётное.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 7 | 0 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
public class Task3 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int n = 7;
|
||||||
|
int result = (n & 1) ^ 1; // если младший бит 1 → 0, иначе → 1
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 4. Обнулить младший бит
|
||||||
|
|
||||||
|
**Условие:** Дано целое число `n`. Обнулить его самый младший установленный бит.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 12 | 8 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
public class Task4 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int n = 12;
|
||||||
|
int result = n & (n - 1); // трюк: убирает младший установленный бит
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 5. Установить k-й бит в 1
|
||||||
|
|
||||||
|
**Условие:** Даны число `n` и позиция `k` (нумерация с 0). Установить `k`-й бит в 1.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 8 2 | 12 |
|
||||||
|
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
public class Task6 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int n = 8; // 1000
|
||||||
|
int k = 2;
|
||||||
|
int result = n | (1 << k); // 1000 | 0100 = 1100 = 12
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 6. Инвертировать k-й бит
|
||||||
|
|
||||||
|
**Условие:** Даны число `n` и позиция `k`. Инвертировать `k`-й бит.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 10 1 | 8 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
public class Task7 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int n = 10; // 1010
|
||||||
|
int k = 1;
|
||||||
|
int result = n ^ (1 << k); // 1010 ^ 0010 = 1000 = 8
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 7. Умножить число на 5 без умножения
|
||||||
|
|
||||||
|
**Условие:** Дано целое число `n`. Получить `n * 5`, используя только сдвиги и сложение.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 7 | 35 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
public class Task10 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int n = 7;
|
||||||
|
int result = (n << 2) + n; // 4n + n = 5n
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Задача 8. Умножить число на 3 без умножения
|
||||||
|
|
||||||
|
**Условие:** Дано целое число `n`. Получить `n * 3`, используя только сдвиги и сложение.
|
||||||
|
|
||||||
|
|**Ввод:** |**Вывод:**|
|
||||||
|
|--|--|
|
||||||
|
| 7 | 21 |
|
||||||
|
|
||||||
|
**Решение:**
|
||||||
|
```java
|
||||||
|
public class Task10 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
int n = 7;
|
||||||
|
int result = (n << 1) + n; // 2n + n = 3n
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
@@ -5,4 +5,10 @@ root := justfile_directory()
|
|||||||
|
|
||||||
[working-directory: 'src/tasks_to_mdl']
|
[working-directory: 'src/tasks_to_mdl']
|
||||||
xml-to-dataclasses:
|
xml-to-dataclasses:
|
||||||
uv run xsdata generate --package gen --include-header {{ root }}/input/nothing.xml
|
uv run xsdata generate --package mdl --include-header {{ root }}/input/nothing.xml
|
||||||
|
|
||||||
|
[working-directory: 'src/tasks_to_mdl']
|
||||||
|
pandoc-to-dataclasses:
|
||||||
|
uv run xsdata generate --package pandoc --include-header {{ root }}/input/problems.xml
|
||||||
|
|
||||||
|
gen-dataclasses: pandoc-to-dataclasses xml-to-dataclasses
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
"""This file was generated by xsdata, v26.2, on 2026-09-14 16:00:22
|
"""This file was generated by xsdata, v26.2, on 2026-09-14 19:25:20
|
||||||
|
|
||||||
Generator: DataclassGenerator
|
Generator: DataclassGenerator
|
||||||
See: https://xsdata.readthedocs.io/
|
See: https://xsdata.readthedocs.io/
|
||||||
"""
|
"""
|
||||||
|
|
||||||
from gen.quiz import (
|
from mdl.quiz import (
|
||||||
Display,
|
Display,
|
||||||
Expected,
|
Expected,
|
||||||
Extra,
|
Extra,
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
"""This file was generated by xsdata, v26.2, on 2026-09-14 16:00:22
|
"""This file was generated by xsdata, v26.2, on 2026-09-14 19:25:20
|
||||||
|
|
||||||
Generator: DataclassGenerator
|
Generator: DataclassGenerator
|
||||||
See: https://xsdata.readthedocs.io/
|
See: https://xsdata.readthedocs.io/
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
"""This file was generated by xsdata, v26.2, on 2026-09-14 19:25:20
|
||||||
|
|
||||||
|
Generator: DataclassGenerator
|
||||||
|
See: https://xsdata.readthedocs.io/
|
||||||
|
"""
|
||||||
|
|
||||||
|
from pandoc.pandoc import (
|
||||||
|
Blocks,
|
||||||
|
Body,
|
||||||
|
Cell,
|
||||||
|
CodeBlock,
|
||||||
|
ColSpec,
|
||||||
|
Colspecs,
|
||||||
|
Header,
|
||||||
|
Pandoc,
|
||||||
|
Para,
|
||||||
|
Plain,
|
||||||
|
Row,
|
||||||
|
Table,
|
||||||
|
TableBody,
|
||||||
|
TableHead,
|
||||||
|
)
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"Cell",
|
||||||
|
"CodeBlock",
|
||||||
|
"ColSpec",
|
||||||
|
"Header",
|
||||||
|
"Pandoc",
|
||||||
|
"Para",
|
||||||
|
"Plain",
|
||||||
|
"Row",
|
||||||
|
"Table",
|
||||||
|
"TableBody",
|
||||||
|
"TableHead",
|
||||||
|
"Blocks",
|
||||||
|
"Body",
|
||||||
|
"Colspecs",
|
||||||
|
]
|
||||||
@@ -0,0 +1,293 @@
|
|||||||
|
"""This file was generated by xsdata, v26.2, on 2026-09-14 19:25:20
|
||||||
|
|
||||||
|
Generator: DataclassGenerator
|
||||||
|
See: https://xsdata.readthedocs.io/
|
||||||
|
"""
|
||||||
|
|
||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
from dataclasses import dataclass, field
|
||||||
|
from typing import ForwardRef
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class CodeBlock:
|
||||||
|
class_value: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "class",
|
||||||
|
"type": "Attribute",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
value: str = field(default="")
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class ColSpec:
|
||||||
|
alignment: str = field(
|
||||||
|
metadata={
|
||||||
|
"type": "Attribute",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
col_width: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "col-width",
|
||||||
|
"type": "Attribute",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Header:
|
||||||
|
id: str = field(
|
||||||
|
metadata={
|
||||||
|
"type": "Attribute",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
level: int = field(
|
||||||
|
metadata={
|
||||||
|
"type": "Attribute",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
value: str = field(default="")
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Para:
|
||||||
|
content: list[object] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"type": "Wildcard",
|
||||||
|
"namespace": "##any",
|
||||||
|
"mixed": True,
|
||||||
|
"choices": (
|
||||||
|
{
|
||||||
|
"name": "Strong",
|
||||||
|
"type": ForwardRef("Para.Strong"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Code",
|
||||||
|
"type": ForwardRef("Para.Code"),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": ForwardRef("Para.Value"),
|
||||||
|
},
|
||||||
|
),
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Strong:
|
||||||
|
value: str = field(default="")
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Code:
|
||||||
|
value: str = field(default="")
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Value:
|
||||||
|
value: str = field(default="")
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Plain:
|
||||||
|
strong: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Strong",
|
||||||
|
"type": "Element",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Cell:
|
||||||
|
alignment: str = field(
|
||||||
|
metadata={
|
||||||
|
"type": "Attribute",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
plain: None | str | int | Plain = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Plain",
|
||||||
|
"type": "Element",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Colspecs:
|
||||||
|
class Meta:
|
||||||
|
name = "colspecs"
|
||||||
|
|
||||||
|
col_spec: list[ColSpec] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "ColSpec",
|
||||||
|
"type": "Element",
|
||||||
|
"min_occurs": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Row:
|
||||||
|
cell: list[Cell] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Cell",
|
||||||
|
"type": "Element",
|
||||||
|
"min_occurs": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class TableHead:
|
||||||
|
row: Row = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Row",
|
||||||
|
"type": "Element",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Body:
|
||||||
|
class Meta:
|
||||||
|
name = "body"
|
||||||
|
|
||||||
|
row: Row = field(
|
||||||
|
metadata={
|
||||||
|
"name": "Row",
|
||||||
|
"type": "Element",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class TableBody:
|
||||||
|
row_head_columns: int = field(
|
||||||
|
metadata={
|
||||||
|
"name": "row-head-columns",
|
||||||
|
"type": "Attribute",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
header: None | object = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"type": "Element",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
body: Body = field(
|
||||||
|
metadata={
|
||||||
|
"type": "Element",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Table:
|
||||||
|
caption: None | object = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "Caption",
|
||||||
|
"type": "Element",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
colspecs: Colspecs = field(
|
||||||
|
metadata={
|
||||||
|
"type": "Element",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
table_head: TableHead = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TableHead",
|
||||||
|
"type": "Element",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
table_body: TableBody = field(
|
||||||
|
metadata={
|
||||||
|
"name": "TableBody",
|
||||||
|
"type": "Element",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
table_foot: None | object = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"name": "TableFoot",
|
||||||
|
"type": "Element",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Blocks:
|
||||||
|
class Meta:
|
||||||
|
name = "blocks"
|
||||||
|
|
||||||
|
header: list[Header] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Header",
|
||||||
|
"type": "Element",
|
||||||
|
"min_occurs": 1,
|
||||||
|
"sequence": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
para: list[Para] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Para",
|
||||||
|
"type": "Element",
|
||||||
|
"min_occurs": 1,
|
||||||
|
"sequence": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
horizontal_rule: list[object] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "HorizontalRule",
|
||||||
|
"type": "Element",
|
||||||
|
"min_occurs": 1,
|
||||||
|
"sequence": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
table: list[Table] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "Table",
|
||||||
|
"type": "Element",
|
||||||
|
"min_occurs": 1,
|
||||||
|
"sequence": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
code_block: list[CodeBlock] = field(
|
||||||
|
default_factory=list,
|
||||||
|
metadata={
|
||||||
|
"name": "CodeBlock",
|
||||||
|
"type": "Element",
|
||||||
|
"min_occurs": 1,
|
||||||
|
"sequence": 1,
|
||||||
|
},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass(kw_only=True)
|
||||||
|
class Pandoc:
|
||||||
|
api_version: str = field(
|
||||||
|
metadata={
|
||||||
|
"name": "api-version",
|
||||||
|
"type": "Attribute",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
meta: None | object = field(
|
||||||
|
default=None,
|
||||||
|
metadata={
|
||||||
|
"type": "Element",
|
||||||
|
},
|
||||||
|
)
|
||||||
|
blocks: Blocks = field(
|
||||||
|
metadata={
|
||||||
|
"type": "Element",
|
||||||
|
}
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user