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

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

23.04.2021, 10:42. Показов 4597. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Remote Connection Manager
DevAlt 21.06.2026
Написал для себя небольшую прилагу: https:/ / github. com/ altbodhi/ ReConMan По итогу пришел к мысли, что DU не дружат с существующими технологиями. От сериализации до отображения в реляционную. . .
Администрация Хабра удаляет новые алгоритмы, которые не западно ориентированной философии кода, без уведомлений и объяснений.
Hrethgir 20.06.2026
Делается это, как замечено, при правках - при объявлении концептуальных отличий в алгоримах. Делается это, по линейке событий - после дополнения публикации основными отличиями от основных западных. . .
Процесс ориентированная диалектика (не новость - просто системное обновление, философия).
Hrethgir 20.06.2026
Однажды один участник в своём блоге, на этом форуме, сделал запись "О языках замолвите слово". Понимая, что язык - важная вещь, я решил хорошо подумать, прежде чем сказать, и сказал то, что вы видите. . .
Контроль уникальности строк в табличной части документа
Maks 18.06.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ПланированиеСпецтехники" с табличной частью "НаличиеОборудования", разработанного в КА2. Задача: контроль уникальности строк в. . .
Клиент
Uhbif79 18.06.2026
Здесь простой клиент для работы с сервером.
Сервер
Uhbif79 18.06.2026
Выкладываю простейший сервер.
Дефенестрация
kumehtar 18.06.2026
Узнал интересное слово. Дефенестрация. Это когда ты выбрасываешь кого-либо или что-либо из окна. Возьму на вооружение)))
Дихотомия добра и зла
kumehtar 18.06.2026
Как Дзен-буддисты говорят о добре и зле: не нужно воевать против зла, нужно воевать против невежества. Тогда добро станет ествественным, и поэтому вечным. Но дело в том, что невежество всё время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru