1 / 1 / 0
Регистрация: 05.05.2020
Сообщений: 186

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

23.04.2021, 10:42. Показов 4551. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru