Дано любое пятизначное число. Найти количество единиц в нем. Допустим (51041). Условие:...

0 голосов
166 просмотров

Дано любое пятизначное число. Найти количество единиц в нем.
Допустим (51041).
Условие: Не использовать условные операторы

Возможно нерешаемо, хочу посмотреть =)
Языки: Паскаль,Си,С++,С#,Java,Алгоритмический,Блок-схемы

Вход: 51041 Выход: 2


Информатика (405 баллов) | 166 просмотров
0

Можете использовать строки,символы,целочисленные типы и прочее. Ограничений нету, кроме условных операторов

0

В том то и дело что совсем без условных операторов. Даже в ассемблере PIC контроллеров и то их использовал. Т.е даже на аппаратном уровне какие-то ветвления организованы. А тут такой изврат.

0

Т.е. алгоритм по выделению цифр из заданного числа приходилось писать. Дальше перебор цифр сравнение и накопление счетчика. НО... ! СОВСЕМ выкинуть условные операторы?!?!?! ( Например если языком не предусмотрена стандартная конструкция циклов, можно обойтись. Можно сформировать эквиввалентную структуру ветвелением и операторами перехода )

0

А так любопытно, неужели кто-то сподобится.

Дан 1 ответ
0 голосов
Правильный ответ

На с++................

(4.8k баллов)
0

Простите Т.е функция соunt сама выполнит пересчет в векторе? А как она работает? Неужто в ней нет условных операторов? :) А так да в тексте основной программы его нет.

0

А внутри count наверняка что-то вроде: если текущий элемент массива (вектора) равен 1, то k:=k+1