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

Сумма последних n цифр числа

29.01.2014, 17:55. Показов 3200. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, друзья! Прошу помощи в решении такой задачки: необходимо найти сумму n-ого количества цифр заданного числа. Сначала у меня были проблемы с типами данных, потом вроде разобрался, сейчас выскакивает ошибка:

Java
1
Exception in thread "main" java.lang.ArithmeticException: / by zero
Ошибка деления на 0 в строке:

Java
1
n = ( n / (10 * k));
Вот весь код программы:

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
import java.util.*;
 
public class SummaChisel
{
    public static void main(String[] args)
    {
         System.out.println("Введите число: ");
         Scanner  in = new Scanner(System.in);
         Integer n = in.nextInt();
         System.out.println("Введите количество знаков: ");
         Integer k = in.nextInt();
         int s1 = 0;
         while (k >= 1)
         {
             int a = n % 10;
             s1 += a;
             k--;
         }
         n = ( n / (10 * k));
         while (( n / 10) >= ( (Math.pow(10, k)) / 10))
        {
         n = n / 10;
        }
        System.out.println(s1);
    }
}
На второй while прошу не обращать внимания, там идет уже заготовка под вторую часть программы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2014, 17:55
Ответы с готовыми решениями:

Найти числа, сумма цифр которых в возведении в степень количества цифр совпадает с этим числом
Не считая число 1, число 153 является первым числом, имеющим это свойство: сумма степеней каждого из своих цифр равна 153: 153 = 1 ^ 3 + 5...

Найти все двузначные числа, сумма цифр которых не меняется при умножении числа
Здравствуйте, уважаемые. Помогите решить задачку. На java не нашел примера( Найти все двузначные числа, сумма цифр которых не меняется...

Сумма цифр числа
Помогите пожалуйста. Дано число. Из данного числа нашли сумму цифр. С образованного числа вновь обрели сумму цифр, и.т.д. пока не...

9
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
29.01.2014, 18:18
если без разных проверок
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;
 
public class SummaChisel {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Введите число: ");
        int n = in.nextInt();
        System.out.println("Введите количество знаков: ");
        int k = in.nextInt();
        int s = 0;
        while (k > 0) {
            s = s + n % 10;
            n = n / 10;
            k--;
        }
        System.out.println(s);
    }
}
1
2 / 2 / 2
Регистрация: 16.06.2012
Сообщений: 43
29.01.2014, 20:27  [ТС]
У меня выдает ошибку именно в этой строке, пишет / by zero . Как говорит гугл - это ошибка "деления на 0". Как исправить или что ему мешает?

Цитата Сообщение от Xendox Посмотреть сообщение

Java
1
         n = ( n / (10 * k));
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
29.01.2014, 20:29
так исправили же, добавили проверку на ноль - что не устраивает?
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
29.01.2014, 20:35
Цитата Сообщение от Xendox Посмотреть сообщение
ошибка "деления на 0
а ты посмотри чему у тебя к равно после выхода из цикла

Добавлено через 27 секунд
и чем тебе предыдущий код не понравился
0
2 / 2 / 2
Регистрация: 16.06.2012
Сообщений: 43
29.01.2014, 20:41  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
так исправили же, добавили проверку на ноль - что не устраивает?
Это да, с той частью я разобрался, теперь интересует продолжение программы - дальше я хочу высчитать сумму первых n цифр. Строчкой " n = n / ( 10 * k ); " я отбрасываю часть всего числа чтобы осталось количество цифр, необходимое для подсчета следующей суммы, тут у меня и выходит ошибка.

Добавлено через 2 минуты
Цитата Сообщение от Wado-Ru Посмотреть сообщение
а ты посмотри чему у тебя к равно после выхода из цикла

Добавлено через 27 секунд
и чем тебе предыдущий код не понравился
Предыдущий код я взял, он безупречен, но вопрос почему у меня k становится 0, если 1. Я не присваивал ей 0 - она участвует только в переборе и 2. По идее по правилам она существует в границах цикла.
0
237 / 236 / 72
Регистрация: 02.07.2013
Сообщений: 881
29.01.2014, 20:48
Добавлено через 1 минуту
Цитата Сообщение от Xendox Посмотреть сообщение
while (k >= 1)
* * * * *{
* * * * * * *k--;
* * * * *}
попробуй на бумажке это посчитать
0
2 / 2 / 2
Регистрация: 16.06.2012
Сообщений: 43
29.01.2014, 21:24  [ТС]
Цитата Сообщение от Wado-Ru Посмотреть сообщение
Добавлено через 1 минуту


попробуй на бумажке это посчитать
Все, понял. Как тогда вернуться к заданному значению либо использовать что-то еще без введения дополнительной переменной?

Добавлено через 2 минуты
Если сделать цикл в цикле получится прибавлять к k значение во внешнем цикле?
0
 Аватар для verylazy
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
29.01.2014, 22:50
Цитата Сообщение от Xendox Посмотреть сообщение
дальше я хочу высчитать сумму первых n циф
намекаю
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
import java.util.Scanner;
 
public class SummaChisel {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Введите число: ");
        int n = in.nextInt();
        System.out.println("Введите количество знаков: ");
        int k = in.nextInt();
        int lastSum = 0;
        int firstSum = 0;
        while (n != 0) {
            if (k > 0) {
                lastSum = lastSum + (n % 10);
                k--;
            } else {
                firstSum = firstSum + (n % 10);
            }
            n = n / 10;
        }
        System.out.println("Сумма последних знаков: " + lastSum);
        System.out.println("Сумма остальных знаков: " + firstSum);
    }
}
0
2 / 2 / 2
Регистрация: 16.06.2012
Сообщений: 43
29.01.2014, 23:24  [ТС]
Цитата Сообщение от verylazy Посмотреть сообщение
намекаю
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
import java.util.Scanner;
 
public class SummaChisel {
 
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Введите число: ");
        int n = in.nextInt();
        System.out.println("Введите количество знаков: ");
        int k = in.nextInt();
        int lastSum = 0;
        int firstSum = 0;
        while (n != 0) {
            if (k > 0) {
                lastSum = lastSum + (n % 10);
                k--;
            } else {
                firstSum = firstSum + (n % 10);
            }
            n = n / 10;
        }
        System.out.println("Сумма последних знаков: " + lastSum);
        System.out.println("Сумма остальных знаков: " + firstSum);
    }
}
Спасибо, буду пробовать усложнять!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.01.2014, 23:24
Помогаю со студенческими работами здесь

Сумма цифр числа
ребят нужно сделелать сумму цифр числа например есть число 12345 нужно получить 1+2+3+4+5 =15 вот что я накодил не чего не...

Сумма всех цифр числа
В переменной n хранится вещественное трёхзначное число с 2-мя знаками после запятой. Создайте программу, вычисляющую и выводящую на экран...

Сумма цифр трехзначного числа
Приветствую друзья. Читаю JavaRush Ниже указан код который выводит сумма цифр трехзначного числа 546. Выводит 15. Вот все понимаю что в...

Сумма цифр числа в цикле
public class prog1 { public static void main(String args) { int n = 423,s = 0; for(int i = 1,m = n;(m % (10 * i)) >= 1;s += (m %...

Вывести все пятизначные числа, которые делятся на 2, у которых средняя цифра нечетная, и сумма всех цифр делится на 4...
Решить: Вывести все пятизначные числа, которые делятся на 2, у которых средняя цифра нечетная, и сумма всех цифр делится на 4


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru