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

В десятичной записи заданного числа подсчитать сумму цифр, стоящих на чётных местах

02.11.2016, 09:57. Показов 2061. Ответов 10
Метки нет (Все метки)

дано число. подсчитать сумму цифр в десятичной записи этого числа, стоящих на четных местах числа
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.11.2016, 09:57
Ответы с готовыми решениями:

Подсчитать сумму чисел, меньших заданного D, и количество чисел, стоящих на четных местах и больших заданного
1.Подсчитать сумму чисел, меньших заданного D, и количество чисел, стоящих на четных местах и...

Подсчитать сумму цифр числа, стоящих на четных позициях
Задача 2. Ввести с экрана натуральное пятизначное число. Подсчитать сумму цифр числа, стоящих на...

Найти и вывести количество и сумму чётных цифр в десятичной записи числа N
День добрый, помогите в решении этой задачи. Сам бы решил, но времени нет, да и Python я забыл. ...

Найти сумму цифр в десятичной записи заданного числа с помощью рекурсии
Доброго времени суток. Помогите, пожалуйста, кто чем сможет. Требуется подсчитать сумму цифр в...

10
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
02.11.2016, 10:15 2
На коленке, за оптимальность не ручаюсь.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
 int main()
 {
    int n;
    int sum[2] = { 0,0 };
    bool b = false;
    cin >> n;
    while (n>0)
    {
        sum[b] += n % 10;
        n /= 10;
        b = !b;
    }
    if (b)
       cout << sum[1];
    else
       cout << sum[0];
 }
1
1486 / 1201 / 821
Регистрация: 29.02.2016
Сообщений: 3,590
02.11.2016, 11:49 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
 
 int main()
 {
    int n=123456;
    int s =0;
    int i =0;
    while (n>0)
    {
        s += (i % 2 == 0) ? n % 10 : 0;
        n /= 10;
    }
    cout << s;
    return 0;
 }
1
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
02.11.2016, 12:02 4
afront, ваш вариант не рабочий, он просто сумму цифр считает.
1
1486 / 1201 / 821
Регистрация: 29.02.2016
Сообщений: 3,590
02.11.2016, 12:08 5
в условии написано
подсчитать сумму цифр
Добавлено через 3 минуты
shilko2013, пардон, забыл i++

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
 
 int main()
 {
    int n=123456;
    int s =0;
    int i =0;
    while (n>0)
    {
        s += (i % 2 == 0) ? n % 10 : 0;
        n /= 10;
        i++;
    }
    cout << s;
    return 0;
 
 }
1
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
02.11.2016, 12:11 6
afront, теперь для числа из нечетного количества цифр неправильный ответ)
Например, 12345 выводит 9, а надо 6.

Добавлено через 48 секунд
Мне аажется тут одной суммой не обойтись или предварительно нало определить сколько цифр в числе
1
1486 / 1201 / 821
Регистрация: 29.02.2016
Сообщений: 3,590
02.11.2016, 12:14 7
shilko2013, или число перевернуть
1
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
02.11.2016, 12:19 8
afront, ага, но для переворота придется все равно посчитать. Как узнать переворачивать или нет?
1
1486 / 1201 / 821
Регистрация: 29.02.2016
Сообщений: 3,590
02.11.2016, 12:20 9
ну тогда так
C++
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
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
 
int main()
{
    int n = 123456;  
    int m = n;
    int digits = 0; 
    while (m != 0) 
    { 
        m /= 10; 
        digits++; 
    }
    
    int * a = new int [digits];  
 
    int i = 1;
    while (n) 
    {
        a[digits -i] = n % 10; 
        n /= 10; 
        i++;
    }
    for(int i = 0; i < digits; i++)
           cout << a[i] << " " ;
    cout << endl ;
 
    int sum = 0;
    for(int i = 0; i < digits; i++)
        if(i%2 == 1)
           sum+=a[i];
 
    cout << sum << endl;
    return 0;
}
1
257 / 234 / 185
Регистрация: 02.04.2016
Сообщений: 898
02.11.2016, 12:42 10
afront, а еще легче считать не как число, а как строку, но это читерство.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream> 
#include <string>
using namespace std;
 
int main() 
{ 
    string s;
    int sum = 0;
    cin >> s;
    for (int i = 0; i < s.length(); ++i)
        if (i % 2 == 1)
            sum += s[i]-'0';
    cout << sum;
}
1
1486 / 1201 / 821
Регистрация: 29.02.2016
Сообщений: 3,590
02.11.2016, 12:51 11
shilko2013, но красиво
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.11.2016, 12:51
Помогаю со студенческими работами здесь

Подсчитать количество и сумму четных цифр в записи числа
кому не трудно, скиньте рабочий код пожалуйста

Найти сумму цифр, стоящих в числе на четных местах
дано целое положительное число ,найти сумму цифр стоящих в этом числе на четных местах....

Подсчитать сумму отрицательных и стоящих на четных местах элементов вектора
Доброго времени суток. Нужна помощь. Подсчитать сумму отрицательных и стоящих на четных местах...

Призведение элементов, стоящих на четных местах и меньших заданного числа
Паскаль помогите пожайлуста


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru