1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Задача на число из N-знаков.

Тема в разделе "С и С++", создана пользователем MusicMan, 11 июн 2007.

Статус темы:
Закрыта.
  1. MusicMan

    MusicMan Гость

    Репутация:
    0
    Помогите пожалуста решить задачку.

    Необходимо ввести размерность числа (n), т.е. из скольки чисел состоит это число. Допустим n=10. После этого необходимо ввести это число с клавиатуры. Из этого числа нужно найти все чётные числа и сложить их. Сам толком не понял, что требуется. Помогите разобраться!
     
  2. NikSoft

    NikSoft Гость

    Репутация:
    0
    Создай перестановки из i по n(n - размерность числа. 1 <= i <= n).
    Допустим введет число 345987.
    Тогда для i = 1 имеем следующие перестановки:
    3, 4, 5, 9, 8, 7

    для i = 2 имеем следующие перестановки:
    34, 59, 78, ...

    ...

    для i = n имеем следующие перестановки:

    345987

    Анализируем все перестановки(п) на четность: п % 2 == 0
    Если перестановка четна, добавляет ее к перенной, например, p.
     
  3. European

    Репутация:
    0
    Регистрация:
    4 сен 2006
    Сообщения:
    2.566
    Симпатии:
    2
    <!--QuoteBegin-MusicMan+10:06:2007, 23:43 -->
    <span class="vbquote">(MusicMan @ 10:06:2007, 23:43 )</span><!--QuoteEBegin-->Из этого числа нужно найти все чётные числа и сложить их
    [snapback]68888" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Найти все четные числа или цифры?
     
  4. MusicMan

    MusicMan Гость

    Репутация:
    0
    Найти все четные числа или цифры?

    Все чётные цифры в числе размерности n. Разрядность цифр равна единице. Т.е. из числа 12345678910, т.е. каждая цифра состоит из одной цифры (простите за болтологию). Незнаю как объяснить. Вобщем последние два элемента это не цифра 10, а 1 и 0.
     
  5. Pasha

    Pasha Гость

    Репутация:
    0
    Для: MusicMan
    Вообще-то цифры 10 нет :lol:

    Примерно так (сорри, давно на плюсах не писал, и проверить не получается)
    Код:
    int n;
    scanf("%d", &n);
    char *buff = new char[n+1];
    scanf("%s", buff);
    
    int sum = 0;
    
    for (int i=0; i<n; i++)
    {
    int c = buff[i] - '0';
    if (c % 2 == 0)
    sum += c;
    }
    delete [] buff;
    printf("%d\n", sum);
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей