С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/231: Рейтинг темы: голосов - 231, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 26
1

Подсчитать сумму цифр в целом числе

14.04.2013, 17:37. Показов 43263. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как написать программу, которая подсчитывает сумму цифр в целом числе?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2013, 17:37
Ответы с готовыми решениями:

Подсчитать количество цифр в заданном целом числе n
Подсчитать количество цифр в заданном целом числе n

Рекурсия, подсчитать количество цифр в заданном целом числе
Подсчитать количество цифр в заданном целом числе n

Подсчитать количество цифр в заданном натуральном числе и найдите сумму цифр заданного натурального числа
Подсчитать количество цифр в заданном натуральном числе и найдите сумму цифр заданного натурального...

Подсчитать количество цифр в заданном числе n, сумму цифр числа n, и выяснить, входит ли цифра 3 в его запись
Задано натуральное число n. Составить программу, которая подсчитывает количество цифр в числе n,...

11
157 / 138 / 15
Регистрация: 13.03.2013
Сообщений: 321
Записей в блоге: 3
14.04.2013, 17:53 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
public class B{
public static void main (String[] args){
    String s="1234";
    String[] a = s.split("");
    int m=0;
    for(int i=1;i<a.length;i++){
        m+=Integer.parseInt(a[i]);
    }
    System.out.println(m+"");
}
 
}
1
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 26
14.04.2013, 17:56  [ТС] 3
Спасибо вам.
0
6 / 6 / 3
Регистрация: 25.03.2013
Сообщений: 56
15.04.2013, 15:34 4
Может такой вариант Вам больше подойдет
Java
1
2
3
4
5
6
7
8
9
10
11
12
public class demo {
    public static void main(String[] args) {
        int k = 12345; int x =k;
        int s = 0;
        while (x != 0 ){
            s +=x%10;
            x /=10;
        }
        System.out.println("Сумма цифр в числе " + k + " = " + s);
    }
 
}
1
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
15.04.2013, 19:44 5
Вариант для выпендрёжа
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.Scanner;
 
class DigitsCounter {
    private static int digitsCount(int n) {
        return ( n < 0 ) ? digitsCount(-n) : ( n == 0 ) ? 1 : (int)Math.log10(n) + 1;
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        while ( true ) {
            System.out.print("Number: ");
            if ( ! sc.hasNextInt() )
                break;
            int n = sc.nextInt();
            System.out.println(digitsCount(n) + " digits");
        }
    }
}
Не так задание прочитал. Так количество цифр в числе считается.
1
Эксперт Java
4093 / 3827 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
15.04.2013, 20:38 6
Цитата Сообщение от easybudda Посмотреть сообщение
Вариант для выпендрёжа
Не работает ваш вариант. Падает со StackOverflowError при n = -2147483648
0
любитель покушать
687 / 641 / 248
Регистрация: 25.09.2011
Сообщений: 1,313
15.04.2013, 20:38 7
easybudda,

Не по теме:

оригинальный способ, я обычно в строку и ее длину :)

0
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 26
15.04.2013, 21:55  [ТС] 8
Спасибо всем большое
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
16.04.2013, 01:10 9
turbanoff, а как Вы себе это число представляете положительным 32-битным целым? Да и выпендрёжные варианты исключительно для выпендрёжа, а не чтобы во всех маргинальных случаях работали...
0
Эксперт Java
4093 / 3827 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 11
16.04.2013, 06:57 10
Цитата Сообщение от easybudda Посмотреть сообщение
turbanoff, а как Вы себе это число представляете положительным 32-битным целым?
А зачем это делать? Вы же считаете только количество цифр, вам не нужно его "представлять" в каком-либо другом виде.
0
Модератор
Эксперт PythonЭксперт JavaЭксперт CЭксперт С++
12832 / 7569 / 1764
Регистрация: 25.07.2009
Сообщений: 13,965
16.04.2013, 14:13 11
turbanoff, то есть нужно было написать комментарий с той частью курса математики, в которой объясняется, почему не бывает числа, в степень которого нужно возвести число 10, чтобы получить отрицательное число, или хотябы ноль. Добавить небольшой трактат на тему машинного представления целых чисел. И всё ради того, чтобы сказать - да, таки эта функция с числом -2147483648 не справится.

Вот вариант с подсчётом суммы цифр в числе, снова выпендрёжный и снова при вводе -2147483648 приводящий к аццкой рекурсии, валящей программу с этим самым Stack... ну Вы в курсе
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.Scanner;
 
class DigitsSum {
    private static int digitsSum(int n) {
        return ( n < 0 ) ? digitsSum(-n) : ( n == 0 ) ? 0 : n % 10 + digitsSum(n / 10);
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        while ( true ) {
            System.out.print("Number: ");
            if ( ! sc.hasNextInt() )
                break;
            
            int n = sc.nextInt();
            System.out.println("Sum of digits: " + digitsSum(n));
            
        }
    }
}
1
Vadim4
07.12.2013, 18:15 12
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
/**
 *Колбасный метод. Без применения классов и приведения значений. Черновик
 * @author Admien
 */
public class Summa {
 
public static void main(String[] args) {
 long f=0;
 long i;
 long a=0;
 long w=1;
 long b=0;
 long n=10;
 long x=1821897198; //Вводим число сюда, только int
 long c=0;
 long y=0;
for (i=1;x/n >0; i++ ) {
 c = (x/n);
 
 a=(x%n); 
 b=(a/w);
 f=b+f;
 w=w*10;
 n=(n*10);
 
 System.out.println("Сумма " +i+ " цифр равна  " + "c= " + c+ "   a= "+a + "  b= "+b + " f= "+f);  
 
   
 
    
}
  y=(f+c);
  System.out.println("Сумма всех " +i+ " цифр равна  " + y);  
 
} 
    }
07.12.2013, 18:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.12.2013, 18:15
Помогаю со студенческими работами здесь

Подсчитать количество 3 в целом числе
Доброво вечера форумчани)! Помогите решить пример: &quot;Подсчитать количество 3 в целом числе&quot; Вот...

Определите функции: nd(n) - вычисляющую количество цифр в числе; d (n,k) - вычисляющую k цифру справа в целом числе
Дано натуральное число k. Напечатать k - цифру в последовательности 11235813213455.... в которой...

Подсчитать количество нулей в заданном целом числе
Подсчитать количество нулей в заданном числе. P.S. Число целое.

Подсчитать число сотен в заданном целом числе
Подсчитайте число сотен в заданном целом числе.

Определение количества цифр в целом числе
Помогите плиз) Вот вариант что нужно сделать! написать подпрограмму-функцию определения...

Количество цифр в целом числе и их сумма
Мне нужно написать программу, которая находит количество цифр в целом числе, и просуммировать эти...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru