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

Ну, а если не сложно то 5 и 6

👇
Открыть все ответы
Ответ:
JeDor15
JeDor15
06.10.2022

package test;

import java.util.Scanner;

public class PlusZerro {

// Размер игровово поля

private static final byte bPoleSize = 3;

// Задаем поле как (!)одномерный массив bPoleSize*bPoleSize (неожиданно?)

private static String[] pole = new String[bPoleSize * bPoleSize];

// А тут у нас задается текущий игрок

private static byte bPlayerNum = 0;

public static void main(String[] args) throws Exception {

int iTmp = 0;

Scanner sc = new Scanner(System.in);

// Инициализация поля

for (int i = 0; i < bPoleSize * bPoleSize; i++)

pole[i] = Integer.toString(++iTmp);

// Играем, пока не наступит конец игры

while (!isGameEnd()) {

nextPlayer();

while (true) {

System.out.println("\nХод игрока " + bPlayerNum);

showPole(); // Рисуем поле

System.out.print("Наберите число, куда вы хотите вставить " + (1 == bPlayerNum ? "крестик" : "нолик") + ": ");

if (sc.hasNextInt()) { // проверяем, есть ли в потоке целое число

iTmp = sc.nextInt() - 1; // считывает целое число с потока ввода и сохраняем в переменную

if (isValidInput(iTmp))

break;

}

System.out.println("Вы ввели неправильное число. Повторите ввод");

sc.next();

}

try {

putX(iTmp); // Вставляем на поле крестик или нолик

} catch (Exception e) {

System.out.println("Что-то пошло не так ;(");

}

}

showPole();

}

/**

* Проверяем корректность ввода. Введенное число должно быть по размеру поля

* и поле должно быть в этом месте еще не заполнено

*/

private static boolean isValidInput(int iIn) {

if (iIn >= bPoleSize * bPoleSize) return false;

if (iIn < 0) return false;

switch (getX(iIn)) {

case 'O':

case 'X':

return false;

}

return true;

}

/**

* Функция задает номер следующего игрока

*/

private static void nextPlayer() {

bPlayerNum = (byte) (1 == bPlayerNum ? 2 : 1);

}

/**

* Определяем, наступил конец игры или нет

* Условия:

* 1) Победили крестики

* 2) Победили нолики

* 3) Кончились ходы

*/

private static boolean isGameEnd() {

int i, j;

boolean bRowWin = false, bColWin = false;

// Проверка победы на колонках и столбиках

for (i = 0; i < bPoleSize; i++) {

bRowWin = true;

bColWin = true;

for (j = 0; j < bPoleSize-1; j++) {

bRowWin &= (getXY(i,j).charAt(0) == getXY(i,j+1).charAt(0));

bColWin &= (getXY(j,i).charAt(0) == getXY(j+1,i).charAt(0));

}

if (bColWin || bRowWin) {

System.out.println("Победил игрок " + bPlayerNum);

return true;

}

}

// Проверка победы по диагоналям

bRowWin = true;

bColWin = true;

for (i=0; i<bPoleSize-1; i++) {

bRowWin &= (getXY(i,i).charAt(0) == getXY(i+1,i+1).charAt(0));

bColWin &= (getXY(i, bPoleSize-i-1).charAt(0) == getXY(i+1, bPoleSize-i-2).charAt(0));

}

if (bColWin || bRowWin) {

System.out.println("Победил игрок " + bPlayerNum);

return true;

}

// Проверка существования новых ходов

for (i = 0; i < bPoleSize * bPoleSize; i++) {

switch (getX(i)) {

case 'O':

case 'X':

break;

default:

return false;

}

}

if (bPoleSize*bPoleSize <= i) {

System.out.println("Ничья. Кончились ходы.");

return true;

}

// Продолжаем игру

return false;

}

/**

* Получает значение координаты на поле

*/

private static String getXY(int x, int y) {

return pole[x * bPoleSize + y];

}

/**

* Получает значение координаты на поле

*/

private static char getX(int x) {

return pole[x].charAt(0);

}

/**

* Вставляет на поле крестик или нолик

*/

private static void putX(int x) {

pole[x] = 1 == bPlayerNum ? "X" : "O";

}

/**

* Вывести игровое поле

*/

private static void showPole() {

for (int i = 0; i < bPoleSize; i++) {

for (int j = 0; j < bPoleSize; j++) {

System.out.printf("%4s", getXY(i, j));

}

System.out.print("\n");

}

}

}

Извини если что то не так, не совсем в этом разбираюсь.

4,4(94 оценок)
Ответ:
Если число 49 записывается как 121, значит первый остаток от деления равен 1, то есть основанием системы счисления является число, кратное 48.

121 имеет 3 разряда, значит основание однозначно меньше 10 и больше 2. Подходят 3, 4, 6, 8.

Учитывая, что в числе 121 три разряда, значит число 48 делилось всего три раза. 
Число 8 не подойдет, т.к. 48/8=6, значит будет всего два деления.
Число 3 не подойдет, т.к. 48/3 = 16, 16/3=5 - то есть тут будет больше трёх знаков.
Число 4 не подойдет, т.к. 48/4=12, а 12 делится на 4 без остатка, но, судя по числу, во втором делении остаток должен быть равен 2.
Остаётся число 6. Проверим

49/6=8 |1
8/6 = 1 |2
1/6=0 |1

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