Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
1 / 1 / 0
Регистрация: 05.05.2020
Сообщений: 186

Как найти остаток от деления если число записано в виде строки

23.04.2021, 10:42. Показов 4529. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно без перевода в другой тип найти остаток от деления числа, которая записана в виде строки. Например, "25" поделим на 2 получим "12,5" . Спасибо!
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2021, 10:42
Ответы с готовыми решениями:

Если число четное, вывести его остаток от деления на 3, если нечетное, то найти целую часть при деление на 5
ввести число, если число четное, вывести его остаток от деления на 3, если нечетное, то найти целую часть при деление на 5

12. Найти остаток от деления целой части выражения sin(a+b)0.5c на 4 и вывести на экран сообщение о величине остатка. Если остаток равен 0, то значени
Найти остаток от деления целой части выражения sin(a+b)0.5c на 4 и вывести на экран сообщение о величине остатка. Если остаток равен 0, то...

Если число С отрицательное, вычислить остаток от деления А на С
даны два целых числа: А и С. Если число С отрицательное, вычислить остаток от деления А на С. Если число С положительное , вывести напечать...

28
1 / 1 / 0
Регистрация: 05.05.2020
Сообщений: 186
25.04.2021, 21:48  [ТС]
Студворк — интернет-сервис помощи студентам
iSmokeJC, но бывает и такое что ответ может быть 2, например 17%5.И нет возможности выбрать значение делителя. Спасибо!

Добавлено через 1 минуту
Arsegg, Да, к сожалению, в моей задачке этого делать нельзя.
0
 Аватар для Coffeini
753 / 370 / 133
Регистрация: 01.02.2020
Сообщений: 1,096
Записей в блоге: 1
25.04.2021, 22:13
Лучший ответ Сообщение было отмечено afasdfsadfs как решение

Решение

Проверяйте:
Кликните здесь для просмотра всего текста
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import java.util.Arrays;
import java.util.stream.Collectors;
 
public class Main2 {
    public static void redistribution(int[] array, int e) {
        if (array[array.length - 1 - e] < 0) {
            array[array.length - 1 - e] += 10;
            if (array.length - 1 - (e + 1) >= 0) {
                --array[array.length - 1 - (e + 1)];
                redistribution(array, e + 1);
            }
        }
    }
 
    public static void subtract(int[] minuend, int[] subtrahend) {
        for (int i = 0; i < Math.min(minuend.length, subtrahend.length); ++i) {
            minuend[minuend.length - 1 - i] -= subtrahend[subtrahend.length - 1 - i];
            redistribution(minuend, i);
        }
    }
 
    public static boolean isGreat(int[] arr1, int[] arr2) {
        for (int i = 0; i < arr1.length; ++i) {
            if (arr1[i] > arr2[i]) {
                return true;
            } else if (arr2[i] > arr1[i]) {
                return false;
            }
        }
        return true;
    }
 
    public static int[] toIntArray(String s) {
        return Arrays.stream(s.split("")).mapToInt(Integer::parseInt).toArray();
    }
 
    public static String magic(String s, String mod) {
        if (s.length() > mod.length()) {
            mod = new String(new char[s.length() - mod.length()]).replace("\0", "0") + mod;
        } else {
            s = new String(new char[mod.length() - s.length()]).replace("\0", "0") + s;
        }
        int[] arrayNumber = toIntArray(s);
        int[] arrayMod = toIntArray(mod);
        while (isGreat(arrayNumber, arrayMod)) {
            subtract(arrayNumber, arrayMod);
        }
        return Arrays.stream(arrayNumber).mapToObj(String::valueOf).collect(Collectors.joining("")).replace("0", "");
    }
 
    public static void main(String[] args) {
        System.out.println(magic("25", "2"));
    }
}


Добавлено через 9 минут
Хотя лучше сделать вот так:
Java
48
return Arrays.stream(arrayNumber).mapToObj(String::valueOf).collect(Collectors.joining(""));
Так хоть и будут нули в начале, но зато ответ будет верным.
2
1 / 1 / 0
Регистрация: 05.05.2020
Сообщений: 186
25.04.2021, 22:32  [ТС]
Coffeini, Все работает СУПЕР, ОГРОМНОЕ ВАМ СПАСИБО!!!! Можете, если не сложно, добавить комментарии в код?
0
 Аватар для Coffeini
753 / 370 / 133
Регистрация: 01.02.2020
Сообщений: 1,096
Записей в блоге: 1
25.04.2021, 22:33
А че не понятно-то?
Вроде название методов прозрачно даёт понять, что происходит в коде.
0
1 / 1 / 0
Регистрация: 05.05.2020
Сообщений: 186
25.04.2021, 23:01  [ТС]
Coffeini, я не совсем понимаю что делают методы subtract и redistribution.
0
 Аватар для Coffeini
753 / 370 / 133
Регистрация: 01.02.2020
Сообщений: 1,096
Записей в блоге: 1
25.04.2021, 23:43
afasdfsadfs, subtract - вычитает массив из массива.
redistribution - перераспределяет содержимое массива.
Прим:
Кликните здесь для просмотра всего текста
Java
1
2
3
int[] m = new int[]{1, 0, 0, 0};
subtract(m, new int[]{7, 8});
System.out.println(Arrays.toString(m));//[0, 9, 2, 2]
Java
1
2
3
int[] m = new int[]{1, 0, 0, -4};
redistribution(m, 0);
System.out.println(Arrays.toString(m));//[0, 9, 9, 6]
0
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
26.04.2021, 00:59
afasdfsadfs, "целиком" переводить в другой тип нельзя, а по "отдельности" - пожалуйста. Делить нельзя, но вычитать можно. Странная логика.
В любом случае, вы не можете обойтись без перевода в другой тип.
0
1 / 1 / 0
Регистрация: 05.05.2020
Сообщений: 186
29.04.2021, 16:17  [ТС]
Coffeini, а для чего это делается?
0
 Аватар для Coffeini
753 / 370 / 133
Регистрация: 01.02.2020
Сообщений: 1,096
Записей в блоге: 1
29.04.2021, 16:34
afasdfsadfs, насколько я знаю частным целочисленного деления в математике называют количество делителей, которые можно вычесть из делимого. Прим:
https://www.cyberforum.ru/cgi-bin/latex.cgi?30 - (\underbrace{5+5+5+5+5+5}_{\frac{30}{5} = 6} )
Соответственно некоторые числа невозможно представить в сумме делителей и остаётся остаток:
https://www.cyberforum.ru/cgi-bin/latex.cgi?31%5 = 31 - (\underbrace{5+5+5+5+5+5}_{\frac{31}{5} = 6} ) =  1
В общем-то я просто вычитаю делитель из делимого, пока делимое больше делителя.

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

Не по теме:

Почему на этом сайте так плохо выглядят LaTeX формулы...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.04.2021, 16:34
Помогаю со студенческими работами здесь

Каждое число заменить на остаток от деления на 10, если выполняется условие
даны целые числа x,y,z,w. Если чБнБяБцбто каждое число заменить на остаток от деления на 10, если x&gt;y&gt;z&gt;w.то числа оставить без...

Найти остаток от деления числа a на число b
a = 7^218 m=11 я нашел НоД не могу применить теорему Эйлера чтоб найти остаток , помогите пожалуйста

Возвести во вторую степень число m/n , если его целая часть больше числа k, где k остаток от деления m на 5
Возвести во вторую степень число m/n , если его целая часть больше числа k, где k остаток от деления m на 5.

Найти остаток от деления числа на простое число
Здравствуйте. Нужно найти остаток от деления данного числа на простое число. Подскажите правильно ли сделал это задание. Вот условие: ...

Найти остаток от деления выражения с факториалами на заданное число
По заданным числам n,m,К найти остаток от деления n!/(m!(n-m)!) на К. Ограничения 5&lt;=n&lt;=100000 3&lt;=m&lt;=n-3 10&lt;=K&lt;=2000 ...


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

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru