Форум программистов, компьютерный форум, киберфорум
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59

Имеются два числа long, как их сравнить между собой?

09.01.2018, 00:10. Показов 5171. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет всем. прошу не ругаться. Но есть вопрос.....имеются два числа long. как их сравнить между собой?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.01.2018, 00:10
Ответы с готовыми решениями:

Сравнить между собой два одномерных массива поэлементно
сравнить между собой два одномерных массива поэлементно (т.е a-b, a-b) и передать в третий min элемент

Сравнить два массива и вывести числа, которые имеются и в первом и во втором массиве
2. Есть два массива ar и ar2. int ar = {4,56,71,10,15,25,6,78,101,90,50,1}; int ar2 = {55,1,10,4,56,50,99,32,71,456,231,87}; ...

В диалоговом режиме последовательный запрос ввод 2-х чисел.Вывести их в документ.Сравнить числа между собой .
<html> <head> <Title> </Title> </head> <body bgcolor=lightgray><hr> <script language="JavaScript" type="text/javascript"> ...

32
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
09.01.2018, 00:32
Пример числа типа long???/
И создай новую тему с таким-же вопросом, быстрее увидят.
0
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59
09.01.2018, 00:45  [ТС]
да я новичок у вас.
суть задачи:Напишите программу, которая возвращает наибольшее число палиндром, которое является произведением двух простых пятизначных чисел, а также возвращает сами сомножители.
говнокод который я пишу. велосипеды изобретены,видел. но хочу свой. вот если умножить 99999 на 99999 будет лонг. :
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class Temp {
    public void main(String[] args) {
        long a = 11111;
        long b = 99999;
        long i;
        for (i = b; i >= a; i--) {
            b--;
            a=b;
            for (i = b; i >= a; i--) {
 
                a--;
                long result = a * b;
                            long reverse = Long.reverse(result);
                       // String str = Long.toString(result);
                       // StringBuffer str1 = new StringBuffer(str);
                       // StringBuffer reverse = str1.reverse();
 
                boolean se =    result.equals(reverse);
 
                        if (Long(result)equals(reverse)) {
                            System.out.println(result);
                            System.out.println(reverse);
                            System.out.println(a + b);
 
// long result = Long.reverse(value);
                        }
                        break;
                    }
                    break;
            }
        }
    }
да, сейчас тут булин не к месту и закомментировано нужное. но не суть. хочу сравнить result и reverse.
и посоветуйте что изучить))
0
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
09.01.2018, 00:56
Цитата Сообщение от wolfbethowen Посмотреть сообщение
вопрос.....имеются два числа long. как их сравнить между собой?
примерно так
Java
1
2
3
4
5
6
7
8
9
10
11
public class long1 {
 
    public static void main(String[] args) {
        long q=1409865409; 
        long r=1409865401; 
  if (q<r) {System.out.println("long q < long r");}
  else  {System.out.println("long q > long r");}
    }
 
}
// В консоли будет: long q > long r
0
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59
09.01.2018, 00:59  [ТС]
сергей, но мне нуно равно или не равно. тип вот этого:


boolean se = result.equals(reverse);
0
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
09.01.2018, 01:13
Цитата Сообщение от wolfbethowen Посмотреть сообщение
нуно равно или не равно.
Java
1
2
3
4
5
6
7
8
9
10
public class long1 {
 
    public static void main(String[] args) {
        long q=1409865409; 
        long r=1409865409; 
  //if (q<r) {System.out.println("long q < long r");}
  if (q==r) {System.out.println("long q = long r");}
    else  {System.out.println("long q не равно long r");}
}}
// В консоли будет: long q = long r
Само сравнение if (q==r).

Добавлено через 34 секунды
Или if (q!=r).
0
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59
09.01.2018, 15:02  [ТС]
но все равно. вот смотри:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public static void main(String[] args) {
        long a = 100000;
        long b = 100000;
        long i;
        for (i = 99999; i >= 11111; i--) {
            b--;
            for (long i1 = 99999; i1 >= 11111; i1--) {
                a--;
                long result = a * b;
                        String str = Long.toString(result);
                        StringBuffer str1 = new StringBuffer(str);
                        StringBuffer reverse = new StringBuffer(str);
 
                        reverse = reverse.reverse();
 
                        if (str1 == reverse) {
                            System.out.println(str1);
                            System.out.println(reverse);
                            System.out.println(a);
                            System.out.println(b);
 
                        } break;
                    } break;
            }
        }
этот код не работает. но если изменить str1 == reverse на вот это str1 != rexverse то код выведет первое несовпадение.
0
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
09.01.2018, 15:06
Слушай, я такой же чайни...... начинающий, как и ты.
Что знал, то ответил. Сча набегут ГУРУ, только успевай впитывать. Тему переместили, и хорошо.
Удачи.
P.S.
Условия задачи какие????
0
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59
09.01.2018, 15:25  [ТС]
да спросил я гуру на одном форуме.сказали изучи как работают циклы. вот и вся суть. я просто не понимаю почему не работает мой код. если логика, хоть минимальная, но прослеживается.
0
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
09.01.2018, 15:31
Условия задачи выложи, разберёмся
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
09.01.2018, 15:34
(str1 == reverse)
(str1.equals(reverse))
0
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59
09.01.2018, 15:36  [ТС]
Напишите программу, которая возвращает наибольшее число палиндром, которое является произведением двух простых пятизначных чисел, а также возвращает сами сомножители.

логика такая у меня: берем одно наибольшее число 99999 и умножаем его на второе наибольшее 99999. потом проводим проверку на палиндром. проверку простое число или нет я опустил пока. если верно, то выводим число и множители. если нет, то уменьшаем второе число на единицу и повтор. если нет такого числа, выходим из цикла и уменьшаем первое число на единицу и все по кругу. както так

Добавлено через 1 минуту


пробовал "equals", не работает. может ошибка в циклах? но я не вижу.
0
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
09.01.2018, 15:41
wolfbethowen, Разберёмся.
И когда кому-то конкретно отвечаешь - жми на ник, чтобы понятно было.
0
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59
09.01.2018, 15:47  [ТС]
так чтоль? форум трохи непонятный)))

Добавлено через 3 минуты
Сергей_СПб, а мляяять. разобрался. дана форумах особо не сижу. ладно. решений у задачи много. я уже три нашел. но до конца я их не понимаю. поэтому делаю свое.
0
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
09.01.2018, 15:59
А вот ругаться не надо, здесь как-то не принято. Удачи.
0
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59
09.01.2018, 16:08  [ТС]
Сергей_СПб, больше не буду) в смысле как ник добавить в сообщение разобрался. а с задачей нет.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
09.01.2018, 17:22
Пиши две функции - первая проверяет, является ли число простым, вторая - является ли число палиндромом. Генерируешь массив простых пятизначных чисел. Дальше чот типа того
Java
1
2
3
4
5
6
7
8
int len = primes.length;
for (int i = len - 1; i >= 0 ; i--) {
  for (int j = len - 1; j >= 0; j--) {
    if (isPalindrome(primes[i]*primes[j]) {
       return что-то там;
    }
  }
}
0
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59
09.01.2018, 18:09  [ТС]
Оно заработало!!! прошу судить. решил все же с помощью циклов, т.к. немного их понимаю. с массивами пока на Вы.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
   public static void main(String[] args){
        long a = 99999;
        long b = 99999;
        lab1: for(long i1 = a; i1 > 10000; i1--) {
            a--;
            b=a;
            for(long i = b; i > 10000; i--) {
                long result = a * b;
                String str = Long.toString(result);
                String reverse = new StringBuffer(str).reverse().toString();
                if(str.equals(reverse)) {
                    System.out.println("Полиндромное число" + result);
                    System.out.println("Первый множитель" + a);
                    System.out.println("Второй множитель" + b);
                    break lab1;
                }
            }
        }
    }
0
 Аватар для Сергей_СПб
28 / 3 / 1
Регистрация: 13.12.2017
Сообщений: 192
09.01.2018, 18:19
wolfbethowen, А интересная все таки задача, только почему ты её решаешь "В лоб".
Мне видится другое:
/* Находим максимальный палиндром для 10-значного числа: 9999800001
* 1. Края по 4-и цифры - реверс. 999хх999
* 2. 5-я цифра=-1. /7
* 3. 6-я цифра = 5-й цифре /7
* 4. получаем максимальный палиндром 99977999
* т.е. Переводим число в массив, проверяем количество цифр,меняем местами цифры, */.
Как думаешь, прокатит???
Только похоже число в массив только через строку.

Добавлено через 7 минут
Чёто "не алё" совсем. Зависла твоя прога, думает
0
6 / 4 / 2
Регистрация: 09.01.2018
Сообщений: 59
09.01.2018, 18:22  [ТС]
Сергей_СПб, не совсем понял твои рассуждения.
/* Находим максимальный палиндром для 10-значного числа: 9999800001 это число не палиндром)

мой код выдал такое решение 5866006685 и оно больше чем * 4. получаем максимальный палиндром 99977999.
ааааа, понял. Сергей, палиндром – строка, которая читается одинаково в обоих направлениях (например ABBA). вот.

Добавлено через 1 минуту
прошу извинить, упустил один момент))))

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Poli {
    public static void main(String[] args){
        long a = 100000;
        long b = 100000;
        lab1: for(long i1 = a; i1 > 10000; i1--) {
            a--;
            b=a;
            for(long i = b; i > 10000; i--) {
                long result = a * b;
                String str = Long.toString(result);
                String reverse = new StringBuffer(str).reverse().toString();
                if(str.equals(reverse)) {
                    System.out.println("Полиндромное число : " + result);
                    System.out.println("Первый множитель : " + a);
                    System.out.println("Второй множитель : " + b);
                    break lab1;
                } else {
                    b--;
                }
            }
        }
    }
}
теперь работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.01.2018, 18:22
Помогаю со студенческими работами здесь

Сравнить цифры числа, указать какие цифры этого числа равны между собой
Пользователь вводит любое целое число. Сравнить 1 и 2 цифру числа и указать какие еще цифры этого числа равны между собой

Как сравнить две даты между собой?
Есть структура типа: struct date { unsigned int day, month, year; } Как сравнить две такие даты между собой?

Создать модуль который будет перемножать два числа между собой
Не могу решить задачу: Создать модуль который будет перемножать два числа между собой. Основная программа будет выводить результат...

Как можно сравнить между собой девять чисел на наличие повторений?
Подскажите пожалуйста, как можно сравнить между собой девять чисел на наличие повторений?

Проверить, что из введённых чисел x, y, z только два числа равны между собой
Не использую оператора if, присвоить переменной значение t значение 0, если из введённых чисел x,y,z только два числа равны между собой, и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru