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

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

09.01.2018, 00:10. Показов 5066. Ответов 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
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru