powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Интересная постановка задачи
25 сообщений из 25, страница 1 из 1
Интересная постановка задачи
    #38921780
Warl0ck_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем решаю задачки из сборника Златопольского

Наткнулся на интересную постановку задачи:

Даны 2 целых числа A и B. Если A делится на B или B делится на А (имеется ввиду без остатка), то вывести 1, иначе любое другое число. Условные операторы и операторы цикла не использовать.

Моих познаний в Java пока не хватает для решения задачи с таким условием. Поделитесь опытом или подскажите направление куда копать, не обязательно на Java. Да и больше интересует логическое направление а не само решение с кодом (код предлагаю под спойлер). 2-х часовое Google'ение навело на мысль что нужно полиморфизм использовать, но до конкретных вещей все равно не могу дойти =).
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38921783
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warl0ck_01,

Полиморфизм не нужен . Решение в одну строчку :)
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38921784
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с1=a/b
c2=b/a

print(c1*c2 + 1)

А вообще от решения таких задач скиллов в программировании сильно не прибавится..
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38921785
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл про спойлер, не знаю как отредачить
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922554
Warl0ck_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл никс1=a/b
c2=b/a

print(c1*c2 + 1)

А вообще от решения таких задач скиллов в программировании сильно не прибавится..

Что не совсем понятно решение:

при любых a и b результат c1*c2 + 1 будет равен 2. Где подвох?
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922574
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warl0ck_01Где подвох?
В непонимании целочисленного деления?
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922583
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warl0ck_01,

Например, a=3 , b=1.

Проверяем
int c1=a/b (=?)
int c2=b/a (=?)

и наконец c1*c2+1 равно?

Так что не всегда 2. Но и 1 немного не верен:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 public static void main(String[] args) {
  int a = 5;
  int b = 6;
  int c1 = a/b;
  int c2 = b/a;
  System.out.println("5 и 6 ="+Integer.toString(c1*c2+1));
  a = 5;
  b = 5;
  c1 = a/b;
  c2 = b/a;
  System.out.println("5 и 5 ="+Integer.toString(c1*c2+1));
 }
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922602
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

try { } catch() {}

Можно не считать условным оператором?
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922604
Grglgn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а я бы вот так:

Код: java
1.
System.out.println((Math.abs(a%b) * Math.abs(b%a) +1))
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922605
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вообще делится ли 0 на 0? Вот в чем вопрос.
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922612
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Grglgn,

Math.abs(a%b)

Ожидается нецелочисленность остатка от деления целых чисел?
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922636
Grglgn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньев,

я не ожидал нецелочисленность. а что?
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922644
Grglgn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньев,

но ожидается отрицательность
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922653
Grglgn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньев,
можно, наверное, доказать как-то что этот abs тут лишний, но я уж на всякий случай, так сказать... Долго не думал, просто вдруг возникло решение, сразу и написал - не коммерческий продукт, все таки :)
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922660
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Grglgn,

Math.abs - это читинг - внутре сравнение то наверняка есть.

А при какой отрицательности 0 при % появится ложно?
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922670
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Grglgn,

Осталось добавить безусловную проверку на 0 (он ведь целое число).
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922710
Grglgn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньев,
на случай если при сложении взаимоунчитожатся . Ну да, посмотрел на это внимательнее, не нужны абсы.
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922714
Grglgn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей АрсеньевGrglgn,

Осталось добавить безусловную проверку на 0 (он ведь целое число).


нет, ну на это уже нет времени :)
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922882
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевMath.abs - это читинг - внутре сравнение то наверняка есть.
Код: java
1.
2.
3.
    public static int abs(int i) {
        return (i >= 0) ? i : -i;
    }

...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922911
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
для a=b предложенное решение не годится. Я бы еще умножил на (a-b)
Код: plaintext
print(c1*c2*(a-b) + 1)
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38922936
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
^ имелась в виду манипуляция с остатками, а не деление, как предложено вначале ))
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38923089
Warl0ck_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей АрсеньевWarl0ck_01,

Например, a=3 , b=1.

Проверяем
int c1=a/b (=?)
int c2=b/a (=?)

и наконец c1*c2+1 равно?

Так что не всегда 2. Но и 1 немного не верен:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
 public static void main(String[] args) {
  int a = 5;
  int b = 6;
  int c1 = a/b;
  int c2 = b/a;
  System.out.println("5 и 6 ="+Integer.toString(c1*c2+1));
  a = 5;
  b = 5;
  c1 = a/b;
  c2 = b/a;
  System.out.println("5 и 5 ="+Integer.toString(c1*c2+1));
 }



как я понял данная реализация не является решением с учетом условий задачи.
Господа а задача вообще имеет решение в такой постановке условия?
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38923102
Warl0ck_01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался. На мысль конечно навели =). Спасибо.
Код:

public class Task02_043 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("Enter two numbers");
int a = in.nextInt();
int b = in.nextInt();

System.out.println(checkNumbers(a, b));
}

private static int checkNumbers(int a, int b) {
int result = (a%b)*(b%a) + 1;
return result;
}
}
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38923551
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warl0ck_01,

опять же по правилам математики:
- 0 число целочисленное
- 0 делится без остатка на любое целое число кроме самого себя
- на 0 делить нельзя, а значит и без остатка тоже.

Т.е. чтобы задачка стала интересной. В случае если одно из чисел 0 надо вывести 1, а в случае если оба - не 1. И это без проверок.
...
Рейтинг: 0 / 0
Интересная постановка задачи
    #38925358
regal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
м.б.
return a==b?1:0;
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Интересная постановка задачи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]